---
title: "TransactionByDevice"
method: POST
path: "/Device/TransactionByDevice"
tags: ["Devices"]
---

# TransactionByDevice

`POST /Device/TransactionByDevice`

## Headers

- `api-key` string, required
- `secret-key` string, required

## Request body

- object
  - `device_uid` string, required — Unique Device Identifier (UID) from the PayPlus system
  - `cashier_uid` string — unique identifier (UID) associated with a cashier account from the PayPlus system
  - `charge_method` 0 | 1 | 2 | 4, required — Use this parameter to define the appropriate transaction action based on the customer's request and system requirements 0 - Check (J2) 1 - Charge (J4) 2 - Approval (J5) 4 - Refund (J4)
  - `callback_url` string — nullable (We will send you webhook once the transaction approved). Example: https://www.domain.com/callback/
  - `create_token` boolean — nullable (In case you have tokenization permission, you can decide if you would like to return the token of the customer for future charges)
  - `initial_invoice` boolean — nullable (In case you have invoice company and it's activated in your payment page, you can decide if for spesfic transaction invoice will be initial or not, to use default please don't send this parameter at all)
  - `custom_invoice_name` string — nullable (In case you have integrated invoice company you can decide if the invoice customer name will be different then the "customer_name" parameter in customer object)
  - `amount` number, required
  - `currency_code` string, required
  - `credit_terms` 1 | 6 | 8, required — 1-regular OR 6-credit OR 8-payment
  - `paying_vat` boolean — nullable (In case you would like to that invoice / document will be with VAT or without VAT, This parameter is not required)
  - `customer_uid` string — To allocate the payment to specific customer
  - `products` object[] — nullable if send in item "product_uid" we will use this product or send error, if send "name" and not "product_uid" we will create new product with this name. more option to send if ("name" && !product_uid): vat_type, barcode, value,price.last option we will use default product.
    - `product_uid` string — Unique identifier for product
    - `name` string
    - `quantity` string
    - `price` string
    - `currency_code` string — EX: ILS
    - `discount_type` 'percentage' | 'amount' — percentage' OR 'amount
    - `discount_value` number — Required if discount type have value
    - `product_invoice_extra_details` string
    - `vat_type` 0 | 1 | 2 — 'vat included' OR 1-'vat not included' OR 2- 'exempt vat'
  - `payments` object
    - `number` integer — Number of payments
    - `first_amount` integer — First Payment
    - `nonfirst_amount` integer — Remaining payments
  - `extra_info` string
  - `minimize_app` boolean
  - `customer` object
    - `uid` string — to allocate the payment to specific customer
    - `customer_name` string, required — Important in case you working with invoicing company
    - `email` string, required — By this field we will search for a customer and allocate the payment under the client
    - `full_name` string — In case the customer is a company, contact personal name can be sent using this field
    - `vat_number` string — In case email are not sent, we will search for a customer by this field
    - `phone` string
    - `cell_phone` string
    - `address` string
    - `postal_code` string
    - `city` string
    - `country_iso` string

## Response `200`

200

- object
  - `results` object
    - `status` string
    - `code` integer
    - `description` string
  - `data` object
    - `transaction` object
      - `uid` string
      - `number` string
      - `type` string
      - `date` string
      - `status_code` string
      - `amount` number
      - `currency` string
      - `credit_terms` string
      - `payments` object
        - `number_of_payments` integer
        - `first_payment_amount` integer
        - `rest_payments_amount` integer
      - `secure3D` object
        - `status` boolean
        - `tracking` unknown
      - `approval_number` string
      - `voucher_number` string
      - `more_info` string
      - `add_data` unknown
    - `data` object
      - `customer_uid` string
      - `terminal_uid` string
      - `cashier_uid` string
      - `cashier_name` string
      - `items` object[]
        - `name` string
        - `discount_amount` integer
        - `discount_type` unknown
        - `discount_value` unknown
        - `quantity` integer
        - `quantity_price` number
        - `vat` unknown
      - `card_information` object
        - `token` string
        - `four_digits` string
        - `expiry_month` string
        - `expiry_year` string
        - `clearing_id` integer
        - `brand_id` integer
        - `issuer_id` integer

## Other responses

- `400` — 400

---

[API](https://skmtc.dev/payplus/apis/payplus-api-documentation-production.md) · [All operations](https://skmtc.dev/payplus/apis/payplus-api-documentation-production/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/payplus/payplus-api-documentation-production/revisions/2a893057392b/schema)
