---
title: "Create Paywall"
method: POST
path: "/paywalls"
---

# Create Paywall

`POST /paywalls`

Use this call to create a new paywall for your customers according to their country of residence and preferred payment methods.

## Headers

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

## Request body

- object
  - `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.
  - `description` string — A short description of the order.
  - `trackingId` string — Optional external tracking reference for the **transaction**.
  - `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.
  - `paymentChannelTypeCode` string — The channel through which the customer will pay the transaction. Use this parameter to **filter** the payment methods displayed on the paywall. You can check all possible values <a href="https://payretailers.readme.io/reference/paywall-parameters#paymentchanneltypecode">here</a>
  - `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.
  - `customer` object, required — An object containing all of the user's details.
    - `firstName` string, required — The customer's first name. 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 but Africa </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.
    - `address` string — The customer's address. <strong>Length:</strong> up to 255 chars
    - `city` string — The user's city. Numbers and special characters are not allowed, except for þ, ð, ç, ñ, accent marks (á, à, é, ó, ô, â), diacritical marks (~), diaereses (ë), dashes (-), commas (,) and apostrophe (').</br><strong>Length:</strong> up to 60 chars.
    - `zip` string — The customer's post code.
    - `phone` string — <strong style="color:red;">Required 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 — The customer's IP address.

## Response `200`

200

- object
  - `uid` string
  - `trackingId` string
  - `amount` integer
  - `currency` string
  - `description` string
  - `createdAt` string
  - `returnUrl` string
  - `notificationUrl` string
  - `shopName` unknown
  - `language` string
  - `totalAmount` integer
  - `expirationDate` unknown
  - `transactionID` unknown
  - `currencySymbol` unknown
  - `apiPaymentShopDomainUrl` string
  - `customer` object
    - `firstName` string
    - `lastName` string
    - `personalId` unknown
    - `email` string
    - `country` string
    - `city` string
    - `zip` string
    - `address` string
    - `phone` string
    - `deviceId` unknown
    - `ip` string
    - `accountType` unknown
  - `form` object
    - `action` string
    - `method` string
  - `whitelabel` unknown
  - `isLocalCurrency` boolean
  - `isConvertedToLocalCurrency` boolean
  - `convertedAmountLocalCurrency` unknown
  - `localCurrencySymbol` unknown
  - `localCurrency` unknown
  - `testMode` boolean
  - `showModal` boolean

## 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)
