---
title: "Create Transaction"
method: POST
path: "/transactions"
---

# Create Transaction

`POST /transactions`

Use this method to create a new transaction / deposit and get paid by your customers!

## Headers

- `Ocp-Apim-Subscription-Key` string, required

## Request body

- object
  - `paymentMethodTagName` string, required — <strong style="color:red;">Only required if paymentMethodId is null</strong></br>The tag of the payment method used to process the transaction.
  - `amount` string, required — <strong style="color:red;">Required for all countries</strong></br>The amount of the transaction. The last two digits will be parsed as decimals (e.g. for 32.00$ write `3200`)
  - `currency` string, required — <strong style="color:red;">Required for all countries</strong></br>The currency code of the currency used for the transaction. </br><strong>Value per country: </strong><a href="https://payretailers.readme.io/reference/transaction-parameters#local-currency-codes">Currency Codes</a>
  - `description` string — A short description of the order.
  - `trackingId` string — Optional external tracking reference for the **transaction (Max 50 characters)**
  - `notificationUrl` string — The URL used to send **notifications** when a transaction is created and changes status.
  - `returnUrl` string — The URL used to redirect the user after the transaction flow is completed.
  - `language` string — The language that will be displayed on the payment method's checkout page. Click <a href="https://payretailers.readme.io/reference/transaction-parameters#language">here</a> to see the possible values.
  - `testMode` boolean — Used to make the difference between real transactions and test transactions. Check the Test Mode page for more details.
  - `merchantSpreadPercent` number, float — The FX rate you would like to add to the transaction amount expressed as a number with two decimals.
  - `customer` object, required — An object containing all of the user's details.
    - `uniqueCustomerIdentifier` string — <strong style="color:red">Only for the creation of entries in the Customer Module when the personalId was not provided.</strong><br>Unique identifier of a shop-customer combination for the Customer Module.
    - `firstName` string, required — The customer's first name. Numbers and special characters are not allowed, except þ, ð, ç, ñ, accent marks (´, `, á, é, í, ó, ú, à, è, ì, ò, ù, ä, ë, ï, ö, ü, â, ê, î, ô, û), diacritical marks (~), diaereses (ë), hyphens (-), commas (,) and apostrophe (').</br><strong>Length:</strong> up to 30 chars
    - `lastName` string, required — The customer's last name. Numbers and special characters are not allowed, except þ, ð, ç, ñ, accent marks (´, `, á, é, í, ó, ú, à, è, ì, ò, ù, ä, ë, ï, ö, ü, â, ê, î, ô, û), diacritical marks (~), diaereses (ë), hyphens (-), commas (,) and apostrophe (').</br><strong>Length:</strong> up to 30 chars
    - `personalId` string, required — <strong style="color:red;">Required for all countries</strong></br>The personal ID of the customer.
    - `email` string, required — The customer's email address. Will be used by the system to send checkout instructions.
    - `country` string, required — The country code of the user in ISO 3166-1 Alpha-2 format. Click <a href="https://payretailers.readme.io/reference/transaction-parameters#country">here</a> to see the possible values.
    - `city` string — <strong style="color:red;">Required for CO and credit card in EC, MX</strong></br>The user's city. Dots (.) are allowed, as well as þ, ð, ç, ñ, accent marks (á, à, é, ó, ô, â), diacritical marks (~), diaereses (ë), dashes (-), commas (,) and apostrophe (').</br><strong>Length:</strong> up to 60 chars.
    - `address` string — <strong style="color:red;">Required for CO and credit card in EC, MX.</strong></br>The user's address.</br><strong>Length:</strong> up to 255 chars
    - `zip` string — <strong style="color:red;">Required credit card in EC, MX.</strong></br> The customer's post code. </br> Only numbers and "-" are allowed. Special characters, such as +,$,() and letters [A-Z], are not allowed
    - `phone` string — <strong style="color:red;">Required for Boleto, Efecty, PagoEfectivo, Yape, Plin and Western Union Panamá, credit cards in EC, MX and for all Africa's payment methods.</strong></br> The customer's phone number. Numbers and special characters, such as +,-, and (), are allowed.</br><strong>Length:</strong> from 7 to 15 digits
    - `deviceId` string — The customer's device ID.
    - `ip` string, required — The customer's IP address.

## Response `200`

200

- object
  - `uid` string
  - `type` string
  - `status` string
  - `message` unknown
  - `trackingId` string
  - `amount` integer
  - `currency` string
  - `description` string
  - `createdAt` string
  - `updatedAt` string
  - `pspTransactionId` string
  - `isValidPaymentMethod` unknown
  - `fxBreakdown` object
    - `exchangeRate` number
    - `components` object
      - `merchantSpreadPercent` integer
      - `pspSpreadPercent` integer
      - `localTaxPercent` number
      - `operationFeePercent` number
    - `contexts` object
      - `base` object
        - `currency` string
        - `topUpAmount` number
        - `merchantSpreadAmount` number
        - `pspSpreadAmount` number
        - `localTaxAmount` number
        - `operationFee` number
        - `netDepositAmount` number
      - `local` object
        - `currency` string
        - `topUpAmount` integer
        - `merchantSpreadAmount` integer
        - `pspSpreadAmount` integer
        - `localTaxAmount` integer
        - `operationFee` number
        - `netDepositAmount` number
  - `customer` object
    - `firstName` string
    - `lastName` string
    - `middleName` string
    - `country` string
    - `city` string
    - `zip` string
    - `address` string
    - `phone` string
    - `deviceId` string
    - `ip` string
    - `personalId` string
    - `uniqueCustomerIdentifier` unknown
    - `accountCreationDate` unknown
    - `accountCreationCountry` unknown
    - `email` string
  - `form` object
    - `action` string
    - `method` string
  - `paymentMethod` object
    - `id` string
    - `name` string
    - `type` string
  - `billing` object
    - `currency` string
    - `amount` integer
  - `conversionInfo` unknown

## Other responses

- `400` — 400
- `401` — 401
- `500` — 500

---

[API](https://skmtc.net/payretailers/apis/transaction.md) · [All operations](https://skmtc.net/payretailers/apis/transaction/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/payretailers/transaction/revisions/b022ee3a593d/schema)
