Skip to main content

Appendix B

Appendix B

You have to add to your SALE request specific list of parameters which is determined by the value for the brand parameter.

You should get additional information from account manager.

Allpay-payout

Parameter (merchant sends)RequiredTypeMax lenDescription
payer_first_name + payer_last_nameRequiredstring60Customer name
payer_emailRequiredstring2–60Recipient’s email
order_amountRequirednumbere.g. 50.00
order_currencyRequired
order_descriptionRequiredstring5–200
parameters[SecurityQuestion]Requiredstring10–40Security question
parameters[SecurityQuestionAnswer]Requiredstring3–40Security answer
account_uuidRequiredstringFrom MID setting (ACCOUNT_UUID)
fee_calculation_methodRequiredMID option: account_level (default) / transaction_level

vcard

To make payments on Test connector, set the value “vcard” for the brand parameter.

Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&brand=vcard&
order_id=ORDER12345&order_amount=1.99&order_currency=USD&order_description=Product&
[email protected]&payer_ip=123.123.123.123&
return_url=https://client.site.com/return.php&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k

To simulate success scenario use identifier parameter value [email protected] and [email protected] for decline.

Apple Pay

To use the Apple Pay payment method, configure the Wallets setting in the admin dashboard. Ensure that the payment provider has confirmed the Apple Pay certificates and verified your domain in the Apple Pay account.

To enable payers to make Apple Pay payments, you can either connect to the Checkout page or work directly via the S2S APM protocol:

Checkout Page: No additional development is required on your side.

S2S APM Protocol: You must be able to obtain the Apple Pay payment token and include it in the SALE request.

Regardless of the protocol you have to make settings in the admin panel and set the following configurations:

• Merchant Identifier, Country and Shop Name – according to the merchant’s data from Apple Pay Developper account
• Certificate and Private Key – generated Apple Pay certificate and private key
• Merchant Capabilities and Supported Networks – configurations for Apple Pay payments
• Processing Private Key – private key that uses for payment token decryption (requires if payment provider supports).

Apple Pay protocol mapping

Before using Apple Pay via S2S APM protocol, you should review next section carefully. There is a description on how you can obtain Apple Pay payment token (it refers to the official Apple Pay documentation)

  1. Each payment must be checked for Apple Pay accessibility
  2. Show Apple Pay button to your payers
  3. Validate the merchant identity
  4. Provide a payment request and create a session
  5. Receive Apple Pay payment token (paymentData object)

After you implement Apple Pay payment tokens generation on your site, you need to pass for the SALE request:

brand = applepay
parameters[paymentToken] - Apple Pay payment token

Request example
curl -d "action=SALE&client_key=YOUR_CLIENT_KEY&brand=applepay&order_id=ORDER12345&order_amount=100.01&order_currency=USD&order_description=Product&payer_ip=123.123.123.123&return_url=http://client.site.com/return.php&identifier=USER_IDENTIFIER&parameters[paymentToken]={\"paymentData\":{\"data\":\"YOUR_ENCRYPTED_DATA\",\"signature\":\"YOUR_SIGNATURE\",\"header\":{\"publicKeyHash\":\"YOUR_PUBLIC_KEY_HASH\",\"ephemeralPublicKey\":\"YOUR_EPHEMERAL_PUBLIC_KEY\",\"transactionId\":\"YOUR_TRANSACTION_ID\"},\"version\":\"EC_v1\"},\"paymentMethod\":{\"displayName\":\"Visa 6244\",\"network\":\"Visa\",\"type\":\"credit\"},\"transactionIdentifier\":\"YOUR_TRANSACTION_IDENTIFIER\"},{\"transactionId\":\"TRANSACTION_ID_2\",\"version\":\"EC_v1\"},\"paymentMethod\":{\"displayName\":\"Visa 0224\",\"network\":\"Visa\",\"type\":\"debit\"},\"transactionIdentifier\":\"TRANSACTION_IDENTIFIER_2\"}&hash=YOUR_HASH" https://test.apiurl.com/post-va -k

We also recommend checking out the demo provided by Apple for Apple Pay: https://applepaydemo.apple.com/


Set Up Apple Pay

If you are using the S2S protocol for Apple Pay payments, you will need to configure your Apple Developer account. Follow these steps to set up Apple Pay in your Apple Developer account:

1. Create a Merchant ID in the "Certificates, Identifiers & Profiles" section.
2. Register and verify the domains involved in the interaction with Apple Pay (e.g., the checkout page URL where the Apple Pay button is placed) in the "Merchant Domains" section.
3. Create a Merchant Identity Certificate in the "Merchant Identity Certificate" section:

  • Generate a pair of certificates (*.csr and *.key) and upload the *.csr file in the "Merchant Identity Certificate" section.
  • Create a Merchant Identity Certificate based on the generated CSR file.
  • Download the *.pem file from the portal.

⚠️ Note

The *.csr file can be obtained from the payment provider that processes Apple Pay, and the *.pem file should be uploaded to your payment provider's dashboard, following their instructions.

4. Create a Processing Private Key in the "Apple Pay Payment Processing Certificate" section:

  • Generate a pair of certificates (*.csr and *.key) and upload the *.csr file.
  • Create a Payment Processing Certificate based on the generated CSR file.

For more detailed instructions on setting up Apple Pay, refer to the following resource: Learn more about setting up Apple Pay

Next, enter the data from your Apple Pay developer account into the platform's admin panel: Go to the "Merchants" section, initiate editing, open the "Wallets" tab, navigate to the Apple Pay settings, and fill in the following fields:

  • Merchant Identifier: Enter the Merchant ID.
  • Certificate: Upload the *.pem file downloaded from the "Merchant Identity Certificate" section.
  • Private Key: Upload the *.key file from the certificate pair generated for the Merchant Identity Certificate.
  • Processing Private Key (required for token decryption): Paste the text from the Processing Private Key file. Ensure it is a single line of text (without spaces or breaks) placed between "BEGIN" and "END."

axxi-pin

If you set the value “axxi-pin” for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
pinFlexepin 16-digit pin numberString 16 characters+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&brand=axxi-pin&order_id=ORDER12345
&order_amount=1.99&order_currency=USD&order_description=Product
&identifier=0987654321-abcd&payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet
&payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456&[email protected]
&payer_phone=199999999&payer_ip=123.123.123.123&parameters[pin]=0123456789012345
&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k

beeline

ParameterDescriptionValuesRequired
productReceiverRecipient's phone number/contract numberString-
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
brand=beeline&order_id=ORDER12345&order_amount=1.99&order_currency=USD&
order_description=Product&identifier=7053031133&payer_first_name=John&
payer_last_name=Doe&payer_address=BigStreet&payer_country=US&payer_state=CA&
payer_city=City&payer_zip=123456&[email protected]
&payer_phone=199999999&payer_ip=123.123.123.123&parameters[productReceiver]= 7053031177
&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k

billplz

Take into account that payer_first_name and payer_last_name parameters are required for this brand. If you set the billplz value for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
bank_codeSWIFT Bank CodeString+
bank_account_numberBank account numberString+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
brand=billplz&order_id=ORDER12345&order_amount=1.99&order_currency=USD&
order_description=Product&identifier=NA&payer_first_name=John&
payer_last_name=Doe&payer_address=BigStreet&payer_country=US&payer_state=CA&
payer_city=City&payer_zip=123456&[email protected]&
payer_phone=199999999&payer_ip=123.123.123.123&parameters[bank_account_number]=1234567890&parameters[bank_code]=1234567890&
hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com -k

bts-ars

The payer sends the bts-ars brand. During the interaction, we request the payer’s CUIL (payer’s bank code) and store the CUIL in the transaction. During the interaction, we display the CLABE from the MID settings, to which the payment will be made. We wait for the callback; the payer has 5 minutes to complete the payment in an external application. If the payment is not completed within this time, the transaction is declined.

If you set the value bts-ars for the brand parameter you have to specify in your request the next parameter as well:

ParameterDescriptionValuesRequired
bank_cuilUnique personal identification number of the customer in Argentina (CUIL).
*If the parameter is not sent, its value will be requested from the payer.
String-
Sample curl request
curl -X POST https://api.test.com/post-va \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: */*" \
-H "Accept-Encoding: gzip, deflate, br" \
-H "User-Agent: PostmanRuntime/7.51.0" \
-H "Cookie: PHPSESSID=hfjlv7ns2lkdgnaur7jp16ocqu" \
-H "X-Forwarded-For: 146.200.199.188" \
-H "X-Real-IP: 146.200.199.188" \
-H "X-Forwarded-Proto: https" \
-H "X-Forwarded-Port: 443" \
-H "X-Forwarded-Host: api.test.com" \
-H "X-Request-Id: 946968abbaf4e2671473e4a2e9ce3912" \
-d "action=SALE&client_key=f8b81d40-iiii-11f0-aff1-xxzxzxxx&brand=bts-ars&order_id=94eezxzxzr2nWMkk&order_amount=5931.99&order_currency=ARS&order_description=4aSlHkL6rMIklRqS&identifier=94eeobSGXr2nWMkk&payer_ip=231.23.11.1&[email protected]&return_url=https://example.com/cancel&hash=89e824e8b4b9b3f5eb7520329789f48e" \
-k

bts-mxn

The payer sends the bts-mxn brand. During the interaction, we request the payer’s CURP (payer’s bank code) and store the CURP in the transaction. During the interaction, we display the CLABE from the MID settings, to which the payment will be made. We wait for the callback; the payer has 5 minutes to complete the payment in an external application. If the payment is not completed within this time, the transaction is declined.

If you set the value bts-mxn for the brand parameter you have to specify in your request the next parameter as well:

ParameterDescriptionValuesRequired
bank_curpUnique personal identification code of the customer in Mexico (CURP).
*If the parameter is not sent, its value will be requested from the payer.
String-
Sample curl request
curl -X POST https://api.test.com/post-va \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: */*" \
-H "Accept-Encoding: gzip, deflate, br" \
-H "User-Agent: PostmanRuntime/7.51.0" \
-H "Cookie: PHPSESSID=hfjlv7ns2lkdgnaur7jp16ocqu" \
-H "X-Forwarded-For: 146.200.199.188" \
-H "X-Real-IP: 146.200.199.188" \
-H "X-Forwarded-Proto: https" \
-H "X-Forwarded-Port: 443" \
-H "X-Forwarded-Host: api.test.com" \
-H "X-Request-Id: 946968abbaf4e2671473e4a2e9ce3912" \
-d "action=SALE&client_key=f8b81d40-iiii-11f0-aff1-xxzxzxxx&brand=bts-mxn&order_id=94eezxzxzr2nWMkk&order_amount=5931.99&order_currency=MXN&order_description=4aSlHkL6rMIklRqS&identifier=94eeobSGXr2nWMkk&payer_ip=231.23.11.1&[email protected]&return_url=https://example.com/cancel&hash=89e824e8b4b9b3f5eb7520329789f48e" \
-k

dl

If you set the value dl for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
document_numberCustomer's personal IDString+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
brand=dl&order_id=ORDER12345&order_amount=1.99&order_currency=USD&order_description=Product&identifier=NA&
payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet&payer_country=US&payer_state=CA&payer_city=City&
payer_zip=123456&[email protected]&payer_phone=199999999&
payer_ip=123.123.123.123&parameters[document_number]=1234567890&
hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com -k

dlocal

If you set the value dlocal for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
document_numberCustomer's personal IDString+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
brand=dlocal&order_id=ORDER12345&order_amount=1.99&order_currency=USD&order_description=Product&identifier=NA&
payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet&payer_country=US&payer_state=CA&payer_city=City&
payer_zip=123456&[email protected]&payer_phone=199999999&
payer_ip=123.123.123.123&parameters[document_number]=1234567890&
hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com -k

doku-hpp

If the payer chooses the doku-hpp payment brand, the redirection to another page will happen to finish the payment. You can add to the Authentication request a specific list of parameters which may be required for the doku-hpp payment brand.

ParameterTypeMandatoryDescription
product_reference_idStringConditionalSKU/item ID of the item in this transaction. This parameter is mandatory if you want to use Akulaku, Kredivo and Indodana. Allowed chars: alphabetic, numeric, special chars. Max Length: 64.
product_nameStringConditionalName of the product item. This parameter is mandatory if you want to use Kredivo, Jenius and Indodana. Allowed chars: alphabetic, numeric, special chars. Max Length: 255
product_quantityNumberConditionalQuantity of the product item. This paramater mandatory if you want to use Kredivo, Akulaku, Indodana and Jenius. Allowed chars: numeric. Max Length: 4
product_skuStringConditionalSKU of the product item. This paramater mandatory if you want to use Kredivo, Akulaku and Indodana.
product_categoryStringConditionalCategory of the product item. This paramater mandatory if you want to use Kredivo, Akulaku and Indodana.
product_urlStringConditionalURL to the product item on merchant site. This paramater mandatory if you want to use Kredivo and Indodana.
product_image_urlStringConditionalURL (image) of the product item on merchant site. This paramater mandatory if you want to use Indodana.
product_typeStringConditionalType of the item in this transaction. This paramater mandatory if you want to use Indodana
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&brand=doku-hpp&order_id=ORDER12345&order_amount=1.99&order_currency=USD&order_description=Product&identifier=NA&payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet&payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456&[email protected]&payer_phone=199999999&payer_ip=123.123.123.123&parameters[product_reference_id]=1&parameters[product_name]=Fresh flowers&parameters[product_quantity]=1&parameters[product_sku]=FF01&parameters[product_category]=gift-and-flowers&parameters[product_url]=http://example.com&parameters[product_image_url]=http://example.com&parameters[product_type]=ABC&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com -k

fairpay

If you set the value fairpay for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
personalIdCustomer's personal ID. It is only required for Brazil and Chile and Colombia (For Brazil, only numeric symbols are allowed, for Chile and Colombia letters can be used as well)String-
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&brand=fairpay&order_id=ORDER12345
&order_amount=1.99&order_currency=USD&order_description=Product&[email protected]
&payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet&payer_country=BR&payer_city=City
&[email protected]&payer_phone=5512345678901&payer_ip=123.123.123.123
&parameters[personalId]=98680500&hash=2702ae0c4f99506dc29b5615ba9ee3c0

Google Pay™

To provide the payers with the possibility of Google Pay™ payment you can connect to the Checkout or work directly via S2S APM protocol. Before using googlepay payment method, you should review this section carefully to meet all the Google Pay™ requirements:

  1. Overview the documentation on Google Pay Integration first:
    • for sites - Google Pay Web developer documentation
    • for Android app - Google Pay Android developer documentation
  2. Make sure you complete all the items on the integration checklist:
    • for sites - Google Pay Web integration checklist
    • for Android app - Google Pay Android integration checklist
  3. To brand your site with Google Pay elements, you must meet the requirements:
    • for sites - Google Pay Web Brand Guidelines
    • for Android app - Google Pay Android brand guidelines
  4. The merchants must adhere to the Google Pay APIs Acceptable Use Policy and accept the terms that the Google Pay API Terms of Service defines.

To work with Google Pay™ payments through gateway, you need to make settings in the admin panel. You can set the following configurations:
• choose the environment: TEST or PRODUCTION
• specify "Allowed Auth Method" - PAN_ONLY or CRYPTOGRAM_3DS
• determine "Supported Networks" - MASTERCARD, VISA, AMEX, DISCOVER, JCB
These configuration will be applied and used when platform interacts with Google Pay.
If you are using Checkout integration to work with googlepay payment method, it requires no additional code implementation.

If you are using S2S APM integration to work with googlepay payment method, you need to pass the additional parameters in the SALE request:
brand = googlepay
parameters[paymentToken] - Google Pay payment token.
To obtain Google Pay payment token you should get the PaymentData according to the Google Pay API Integration documentation (see the links above).
Pass the following parameters to receive PaymentData:
allowPaymentMethods: CARD
tokenizationSpecification = { "type": "PAYMENT_GATEWAY" }
allowedCardNetworks = ['MASTERCARD', 'VISA', 'AMEX', 'DISCOVER', 'JCB'];
allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS'];
gateway = value provided by your support manager
gatewayMerchantId = CLIENT_KEY (API key)

Example of data to get PaymentData
{
    "apiVersionMinor": 0,
    "apiVersion": 2,
    "paymentMethodData": {
        "description": "Mastercard •••• 5179",
        "tokenizationData": {
            "type": "PAYMENT_GATEWAY",
            "token": {
                "signature": "MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje//eLrXVc+n6LOlc4PqxWOUcqwrmki/CNA1ur",
                "intermediateSigningKey": {
                    "signedKey": "{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhRrvGB0kZ1248MEJAPwX0YfrQInhyyRM7nyGFjQuzGSViZG3QC9NMvXR9Zd6uVcVzAz+6K/+NEGIWbX8zbk6A\\u003d\\u003d\",\"keyExpiration\":\"1571208568000\"}",
                    "signatures": [
                        "MEUCIQCR6vIEiyHB8qmlho4/tLd7W8CIGrZDJlCI48CBHeFPvQIgLZJIe4cZv6pYtYYa56QCI/vvg1GqXTP3bTBjO49r5mI="
                    ]
                },
                "protocolVersion": "ECv2",
                "signedMessage": {
                    "encryptedMessage": "k85CGUMmd5PaGmQlHFqHc0HrDZmjM1yG82rFB/p31ZyUleN5nihzjOZif/BKXwg3XA2oLXqBSSWcAdfZwXxCEOqvAQE+kpTC7qVO4wTPip6RruraT6vO9M9FtIf0kcqzYSAN7pl1SUA5jC9rHrqucPoh0Sspup78SWBt8TnmVKC9O3sQhIZ3SMoGOG4mdjtIrgCwWH2cbrxUH0dHAqOe5ANGOY/mII4nTEp7xaKu41hK/kFE15zVyqgPJXP9bPxzMVk/ozEZSfhSzVTS+9stjkUkT5EibKB3O1bbxyybKcGQ5vxBOtNOBKKdNuqNmN2eEK3UbSKb1M3gv45gT9cCeEvlzO7Wg0N100vUBp9RPDN9TH4tj4w578sWFKfTi6FsSrZB27SGWcU0EaKHO9buo94mRBY5yqffF3bKg5mAMPzjDhyHSujqWKAs9C5fBzMEuEr2z7A23kfLqBceH5uS9LJMiZyVKCwfpY9u2XyCjKdp7Iu003d",
                    "ephemeralPublicKey": "BAMDAtfgcPNuzItrwGLigGj3rtxmyHhZLwx1B4RJZ2oo11jpFf3SA6a3utryCMmlCEcqLfLn6WDH2ArrNBGnEwu003d",
                    "tag": "TqhZXY53Fe4QBKafm6NqS6EzwVeiKXhRlp8NeWrAu003d"
                }
            }
        },
        "type": "CARD",
        "info": {
            "cardNetwork": "MASTERCARD",
            "cardDetails": "5179"
        }
    }
}

As a result you receive you will be returned a dataset with PaymentData.token object contains data that you need add to the SALE request as parameters[paymentToken] parameter.

Request Example
curl -d "action=SALE&client_key=YOUR_CLIENT_KEY&brand=googlepay&order_id=ORDER_ID&order_amount=100.01&order_currency=USD&order_description=Product&payer_ip=123.123.123.123&return_url=http://client.site.com/return.php&identifier=USER_IDENTIFIER&parameters[paymentToken]={\"apiVersionMinor\": 0, \"apiVersion\": 2, \"paymentMethodData\": {\"description\": \"Mastercard •••• 5179\", \"tokenizationData\": {\"type\": \"PAYMENT_GATEWAY\", \"token\": {\"signature\": \"YOUR_SIGNATURE\", \"intermediateSigningKey\": {\"signedKey\": \"YOUR_SIGNED_KEY\", \"signatures\": [\"YOUR_SIGNATURE_2\"]}, \"protocolVersion\": \"ECv2\", \"signedMessage\": {\"encryptedMessage\": \"ENCRYPTED_MESSAGE\", \"ephemeralPublicKey\": \"EPHEMERAL_PUBLIC_KEY\", \"tag\": \"TAG\"}}}, \"type\": \"CARD\", \"info\": {\"cardNetwork\": \"MASTERCARD\", \"cardDetails\": \"5179\"}}}&hash=YOUR_HASH" https://test.apiurl.com/post-va -k

⚠️ Pay attention

in the case of PAN_ONLY, the responsibility for passing 3ds is transferred to the acquirer, through which the payment is processed


Set up Google Pay

The admin panel settings apply to merchants integrated with the platform via the Checkout protocol.

For merchants using the S2S protocol and obtaining the Google Pay payment token independently, these settings will not apply.

Exceptions are "Environment" and “Private Key” configurations.

The "Environment" configuration remains relevant, as it defines the environment where the token was generated and from which the platform expects to receive payment data. Ensure that the environment used to generate the payment token matches the corresponding setting in the admin panel to avoid processing issues.

The “Private Key” is required for Google token decryption. If it is absent, the card flow cannot be applied to the payment.

Additionally, to work with Google Pay payments, you must verify the website domains from which Google Pay is processed in the Google Business Console.

hayvn

ParameterDescriptionValuesRequired
payment_currencyCurrency for the specified payment amount.
Available values:
BTC
ETH
USDC
USDT
String+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
brand=hayvn&order_id=ORDER12345&order_amount=1.99&order_currency=USD&
order_description=Product&identifier=NA&payer_first_name=John&
payer_last_name=Doe&payer_address=BigStreet&payer_country=US&payer_state=CA&
payer_city=City&payer_zip=123456&[email protected]
&payer_phone=199999999&payer_ip=123.123.123.123&parameters[payment_currency]= BTC
&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k

hayvn-wdwl

ParameterDescriptionValuesRequired
addressAddress of the recipient.String+
currencyRecipient address currency.
BTC
ETH
USDC
USDT
String+
networkRecipient address network.
BTC
ETH
BSC
TRX
String+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
brand=hayvn-wdwl&order_id=ORDER12345&order_amount=1.99&order_currency=USD&
order_description=Product&identifier=NA&payer_first_name=John&
payer_last_name=Doe&payer_address=BigStreet&payer_country=US&payer_state=CA&
payer_city=City&payer_zip=123456&[email protected]
&payer_phone=199999999&payer_ip=123.123.123.123&
parameters[address]=tb1qz8xs2xrun82tzaug9uaj206p34l3eu0tjw52qd
&parameters[currency]=BTC&parameters[network]=BTC
&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k

ips

brand = ips

QR method

  • Brand IPS

  • Engine VA

  • SALE with REDIRECT (QR-code)

  • Currencies:

    • EUR
    • RSD
    • BAM
    • MKD
  • The ips method works on both S2S APM and Checkout. Who produces and displays the QR the payer scans differs by protocol:

    • S2S APM (this protocol): the SALE response returns the QR code in redirect_params.qr_code as a Base64-encoded value; you generate the QR from it and display it to the payer.
    • Checkout: the Payment Platform displays the QR code itself, together with the order number, amount, and description.
  • The QR code expires after 1 minute by default.

  • Status via GET_TRANS_STATUS:

    • executed → SETTLED
    • rejected → DECLINED
    • pending → PENDING
  • Final status also arrives via bank callback (ACSC → success, RJCT → decline).

kunnect

If you set the value kunnect for the brand parameter you have to specify in your request the next parameter as well:

ParameterDescriptionValuesRequired
cryptoCurrencyCurrency for the specified payment amountString+
Sample curl request
curl -d "action=SALE&
client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
brand=kunnect&
order_id=ORDER12345&
order_amount=1.99&
order_currency=USD&
order_description=Product&identifier=NA&
payer_first_name=John&
payer_last_name=Doe&
payer_address=BigStreet&
payer_country=US&
payer_state=CA&
payer_city=City&
payer_zip=123456&
[email protected]&
payer_phone=199999999&
payer_ip=123.123.123.123&
parameters[cryptoCurrency]=BTC&
hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k

m2p-debit

If you set the value m2p-debit for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
paymentGatewayNameName of payment gateway that will be used for depositString+
paymentCurrencyName of payment currency that will be used for depositString+
tradingAccountLoginDepositor’s trading account idString-
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&brand=m2p-debit&order_id=ORDER12345
&order_amount=1.99&order_currency=USD&order_description=Product
&identifier=0987654321-abcd&payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet
&payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456&[email protected]
&payer_phone=199999999&payer_ip=123.123.123.123&parameters[paymentGatewayName]=gateway&parameters[paymentCurrency]=BTC&parameters[tradingAccountLogin]=login
&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k

m2p-withdrawal

If you set the value m2p-withdrawal for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
withdrawCurrencyCRYPTO currency Cryptocurrency to which currency is convertedString+
addressUser cryptocurrency wallet address to withdrawString+
tradingAccountLoginTrading account ID of a user requesting a withdrawalString-
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&brand=m2p-withdrawal&order_id=ORDER12345
&order_amount=1.99&order_currency=USD&order_description=Product
&identifier=0987654321-abcd&payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet
&payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456&[email protected]
&payer_phone=199999999&payer_ip=123.123.123.123&parameters[withdrawalCurrency]=BTC&parameters[address]=43j5hg734rhbfj&parameters[tradingAccountLogin]=login
&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k

next-level-finance

If the payer chooses the next-level-finance payment brand, the redirection to another page will happen to finish the payment.

The following parameter is required:

ParameterTypeMandatoryDescription
toCurrencyString+The type of currency to convert to. Should be a valid currency code.
Sample curl request
curl --location 'https://test.apiurl.com/post-va' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'action=SALE' \
--data-urlencode 'client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004' \
--data-urlencode 'brand=next-level-finance' \
--data-urlencode 'order_id=ORDER12345' \
--data-urlencode 'order_amount=1.99' \
--data-urlencode 'order_currency=EUR' \
--data-urlencode 'order_description=Product' \
--data-urlencode 'identifier=NA' \
--data-urlencode 'payer_first_name=John' \
--data-urlencode 'payer_last_name=Doe' \
--data-urlencode 'payer_address=BigStreet' \
--data-urlencode 'payer_country=BR' \
--data-urlencode 'payer_city=City' \
--data-urlencode 'payer_zip=123456' \
--data-urlencode '[email protected]' \
--data-urlencode 'payer_phone=199999999' \
--data-urlencode 'payer_ip=123.123.123.123' \
--data-urlencode 'parameters[toCurrency]=USDC' \
--data-urlencode 'return_url=https://example.com' \
--insecure

pagsmile

If you set the value pagsmile for the brand parameter you have to specify in your request the next parameters. The following parameters are required, except for transactions in Guatemala, Panama, or Costa Rica:

ParameterTypeMandatoryDescription
document_numberStringConditionalCustomer's ID.
Condition: If the parameter is NOT specified in the request, then it will be collected on the Checkout page
document_typeStringConditionalCustomer's identification type.
Condition: If the parameter is NOT specified in the request, then it will be collected on the Checkout page
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
brand=pagsmile&order_id=ORDER12345&order_amount=1.99&order_currency=BRL&
order_description=Product&identifier=NA&payer_first_name=John&
payer_last_name=Doe&payer_address=BigStreet&payer_country=BR&
payer_city=City&payer_zip=123456&[email protected]&
payer_phone=199999999&payer_ip=123.123.123.123&
parameters[document_number]=11032341882&
parameters[document_type]=CPF&
hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com -k

payok-upi

If you set the value payok-upi for the brand parameter you have to specify in your request the next parameter required for India:

ParameterDescriptionValuesRequired
personal_idUPI ID
Condition: If the parameter is NOT specified in the request for India, then it will be collected on the Checkout page
String+/-
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
brand=payok-upi&order_id=ORDER12345&order_amount=1.99&order_currency=USD&
order_description=Product&identifier=NA&payer_first_name=John&
payer_last_name=Doe&payer_address=BigStreet&payer_country=US&payer_state=CA&
payer_city=City&payer_zip=123456&[email protected]&
payer_phone=199999999&payer_ip=123.123.123.123&parameters[personal_id]=1234567890&
hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com -k

paythrough-upi

If you set the value paythrough-upi for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
upi_idUPI IDString+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&brand=paythrough-upi
&order_id=ORDER12345&order_amount=100.99&order_currency=INR&order_description=Product
&identifier=0987654321-abcd&payer_first_name=John&payer_last_name=Doe
&payer_address= Shop No.12, Rendezvous, Raviraj Oberoi Cmplx
&payer_country=IN&payer_state= Maharashtra&payer_city=Mumbai
&payer_zip= 400053&[email protected]&payer_phone= 9818218660 &payer_ip=123.123.123.123&parameters[upi_id]= joyoberoihrl@okaxis
&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k

ptn-email

If you set the value ptn-email for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
SecurityQuestionThe security questionString-
SecurityQuestionAnswerSecurityQuestionAnswer standards:
- No spaces.
- Length must be between 3 and 25 characters long
String+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
brand=ptn-email&order_id=ORDER12345&order_amount=1.99&order_currency=USD&
order_description=Product&identifier=NA&payer_first_name=John&
payer_last_name=Doe&payer_address=BigStreet&payer_country=US&payer_state=CA&
payer_city=City&payer_zip=123456&[email protected]
&payer_phone=199999999&payer_ip=123.123.123.123&
parameters[SecurityQuestion]=color&
parameters[SecurityQuestionAnswer]=red
&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com -k

ptn-sms

If you set the value ptn-sms for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
SecurityQuestionThe security questionString-
SecurityQuestionAnswerSecurityQuestionAnswer standards:
- No spaces.
- Length must be between 3 and 25 characters long
String-
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&
brand= ptn-sms&order_id=ORDER12345&order_amount=1.99&order_currency=USD&
order_description=Product&identifier=NA&payer_first_name=John&
payer_last_name=Doe&payer_address=BigStreet&payer_country=US&payer_state=CA&
payer_city=City&payer_zip=123456&[email protected]
&payer_phone=199999999&payer_ip=123.123.123.123&
parameters[SecurityQuestion]=color&
parameters[SecurityQuestionAnswer]=red
&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com -k

pyk-bkmexpress

If you set the value pyk-bkmexpress for the brand parameter you have to specify in your request the next parameter required for Turkey:

ParameterTypeMandatoryDescription
orgCodeStringConditionalPayer's Institution (Bank) Code.
Condition: If the parameter is NOT specified in the request for Turkey, then it will be collected on the Checkout page
accountNameStringConditionalPayer's name, length 1~64 characters; Example: Colin Ford. Must be exactly the same as the actual payer's name.
Condition: If the parameter is NOT specified in the request for Turkey, then it will be collected on the Checkout page
accountNumberStringConditionalPayer's Institution (Bank) account number. Must be exactly the same as the account number of the actual payment.
Condition: If the parameter is NOT specified in the request for Turkey, then it will be collected on the Checkout page
Sample curl request
curl -X POST https://test.apiurl.com/post-va -k \
-d "action=SALE" \
-d "client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004" \
-d "brand=pyk-bkmexpress" \
-d "order_id=ORDER12345" \
-d "order_amount=1.99" \
-d "order_currency=TRY" \
-d "order_description=Product" \
-d "payer_first_name=John" \
-d "payer_last_name=Doe" \
-d "payer_address=BigStreet" \
-d "payer_country=US" \
-d "payer_state=CA" \
-d "payer_city=City" \
-d "payer_zip=123456" \
-d "[email protected]" \
-d "payer_phone=199999999" \
-d "payer_ip=123.123.123.123" \
-d "parameters[orgCode]=orgCode" \
-d "parameters[accountName]=accountName" \
-d "parameters[accountNumber]=accountNumber" \
-d "hash=2702ae0c4f99506dc29b5615ba9ee3c0"

pyk-momo

If you set the value pyk-momo for the brand parameter you have to specify in your request the next parameter required for Vietnam:

ParameterTypeMandatoryDescription
personal_idStringConditionalPayer's Identity ID.
Condition: If the parameter is NOT specified in the request for Vietnam, then it will be collected on the Checkout page
Sample curl request
curl -X POST https://test.apiurl.com/post-va -k \
-d "action=SALE" \
-d "client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004" \
-d "brand=pyk-momo" \
-d "order_id=ORDER12345" \
-d "order_amount=1.99" \
-d "order_currency=TRY" \
-d "order_description=Product" \
-d "payer_first_name=John" \
-d "payer_last_name=Doe" \
-d "payer_address=BigStreet" \
-d "payer_country=US" \
-d "payer_state=CA" \
-d "payer_city=City" \
-d "payer_zip=123456" \
-d "[email protected]" \
-d "payer_phone=199999999" \
-d "payer_ip=123.123.123.123" \
-d "parameters[personal_id]=personal_id" \
-d "hash=2702ae0c4f99506dc29b5615ba9ee3c0"

pyk-nequipush

If you set the value pyk-nequipush for the brand parameter you have to specify in your request the next parameter required for Colombia:

ParameterTypeMandatoryDescription
personal_idStringConditionalPayer's Identity ID.
Condition: If the parameter is NOT specified in the request for Colombia, then it will be collected on the Checkout page
Sample curl request
curl -X POST https://test.apiurl.com/post-va -k \
-d "action=SALE" \
-d "client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004" \
-d "brand=pyk-nequipush" \
-d "order_id=ORDER12345" \
-d "order_amount=1.99" \
-d "order_currency=TRY" \
-d "order_description=Product" \
-d "payer_first_name=John" \
-d "payer_last_name=Doe" \
-d "payer_address=BigStreet" \
-d "payer_country=US" \
-d "payer_state=CA" \
-d "payer_city=City" \
-d "payer_zip=123456" \
-d "[email protected]" \
-d "payer_phone=199999999" \
-d "payer_ip=123.123.123.123" \
-d "parameters[personal_id]=personal_id" \
-d "hash=2702ae0c4f99506dc29b5615ba9ee3c0"

pyk-paparawallet

If you set the value pyk-paparawallet for the brand parameter you have to specify in your request the next parameter required for Turkey:

ParameterTypeMandatoryDescription
orgCodeStringConditionalPayer's Institution (Bank) Code.
Condition: If the parameter is NOT specified in the request for Turkey, then it will be collected on the Checkout page
accountNameStringConditionalPayer's name, length 1~64 characters; Example: Colin Ford. Must be exactly the same as the actual payer's name.
Condition: If the parameter is NOT specified in the request for Turkey, then it will be collected on the Checkout page
accountNumberStringConditionalPayer's Institution (Bank) account number. Must be exactly the same as the account number of the actual payment.
Condition: If the parameter is NOT specified in the request for Turkey, then it will be collected on the Checkout page
Sample curl request
curl -X POST https://test.apiurl.com/post-va -k \
-d "action=SALE" \
-d "client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004" \
-d "brand=pyk-paparawallet" \
-d "order_id=ORDER12345" \
-d "order_amount=1.99" \
-d "order_currency=TRY" \
-d "order_description=Product" \
-d "payer_first_name=John" \
-d "payer_last_name=Doe" \
-d "payer_address=BigStreet" \
-d "payer_country=US" \
-d "payer_state=CA" \
-d "payer_city=City" \
-d "payer_zip=123456" \
-d "[email protected]" \
-d "payer_phone=199999999" \
-d "payer_ip=123.123.123.123" \
-d "parameters[orgCode]=orgCode" \
-d "parameters[accountName]=accountName" \
-d "parameters[accountNumber]=accountNumber" \
-d "hash=2702ae0c4f99506dc29b5615ba9ee3c0"

pyk-promptpay

If you set the value pyk-promptpay for the brand parameter you have to specify in your request the next parameter required for Thailand:

ParameterTypeMandatoryDescription
orgCodeStringConditionalPayer's Institution (Bank) Code.
Condition: If the parameter is NOT specified in the request for Thailand, then it will be collected on the Checkout page
accountNameStringConditionalPayer's name, length 1~64 characters; Example: Colin Ford. Must be exactly the same as the actual payer's name.
Condition: If the parameter is NOT specified in the request for Thailand, then it will be collected on the Checkout page
accountNumberStringConditionalPayer's Institution (Bank) account number. Must be exactly the same as the account number of the actual payment.
Condition: If the parameter is NOT specified in the request for Thailand, then it will be collected on the Checkout page
Sample curl request
curl -X POST https://test.apiurl.com/post-va -k \
-d "action=SALE" \
-d "client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004" \
-d "brand=pyk-promptpay" \
-d "order_id=ORDER12345" \
-d "order_amount=1.99" \
-d "order_currency=TRY" \
-d "order_description=Product" \
-d "payer_first_name=John" \
-d "payer_last_name=Doe" \
-d "payer_address=BigStreet" \
-d "payer_country=US" \
-d "payer_state=CA" \
-d "payer_city=City" \
-d "payer_zip=123456" \
-d "[email protected]" \
-d "payer_phone=199999999" \
-d "payer_ip=123.123.123.123" \
-d "parameters[orgCode]=orgCode" \
-d "parameters[accountName]=accountName" \
-d "parameters[accountNumber]=accountNumber" \
-d "hash=2702ae0c4f99506dc29b5615ba9ee3c0"

pyk-truemoney

If you set the value pyk-truemoney for the brand parameter you have to specify in your request the next parameter required for Thailand:

ParameterTypeMandatoryDescription
orgCodeStringConditionalPayer's Institution (Bank) Code.
Condition: If the parameter is NOT specified in the request for Thailand, then it will be collected on the Checkout page
accountNameStringConditionalPayer's name, length 1~64 characters; Example: Colin Ford. Must be exactly the same as the actual payer's name.
Condition: If the parameter is NOT specified in the request for Thailand, then it will be collected on the Checkout page
accountNumberStringConditionalPayer's Institution (Bank) account number. Must be exactly the same as the account number of the actual payment.
Condition: If the parameter is NOT specified in the request for Thailand, then it will be collected on the Checkout page
Sample curl request
curl -X POST https://test.apiurl.com/post-va -k \
-d "action=SALE" \
-d "client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004" \
-d "brand=pyk-truemoney" \
-d "order_id=ORDER12345" \
-d "order_amount=1.99" \
-d "order_currency=TRY" \
-d "order_description=Product" \
-d "payer_first_name=John" \
-d "payer_last_name=Doe" \
-d "payer_address=BigStreet" \
-d "payer_country=US" \
-d "payer_state=CA" \
-d "payer_city=City" \
-d "payer_zip=123456" \
-d "[email protected]" \
-d "payer_phone=199999999" \
-d "payer_ip=123.123.123.123" \
-d "parameters[orgCode]=orgCode" \
-d "parameters[accountName]=accountName" \
-d "parameters[accountNumber]=accountNumber" \
-d "hash=2702ae0c4f99506dc29b5615ba9ee3c0"

pyk-upi

If you set the value pyk-upi for the brand parameter you have to specify in your request the next parameter required for India:

ParameterDescriptionValuesRequired
personal_idPayer's Identity ID.
Condition: If the parameter is NOT specified in the request for India, then it will be collected on the Checkout page
String+/-
Sample curl request
curl -X POST https://test.apiurl.com/post-va -k \
-d "action=SALE" \
-d "client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004" \
-d "brand=pyk-upi" \
-d "order_id=ORDER12345" \
-d "order_amount=1.99" \
-d "order_currency=TRY" \
-d "order_description=Product" \
-d "payer_first_name=John" \
-d "payer_last_name=Doe" \
-d "payer_address=BigStreet" \
-d "payer_country=US" \
-d "payer_state=CA" \
-d "payer_city=City" \
-d "payer_zip=123456" \
-d "[email protected]" \
-d "payer_phone=199999999" \
-d "payer_ip=123.123.123.123" \
-d "parameters[personal_id]=personal_id" \
-d "hash=2702ae0c4f99506dc29b5615ba9ee3c0"

pyk-viettelpay

If you set the value pyk-viettelpay for the brand parameter you have to specify in your request the next parameter required for Vietnam:

ParameterTypeMandatoryDescription
personal_idStringConditionalPayer's Identity ID.
Condition: If the parameter is NOT specified in the request for Vietnam, then it will be collected on the Checkout page
Sample curl request
curl -X POST https://test.apiurl.com/post-va -k \
-d "action=SALE" \
-d "client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004" \
-d "brand=pyk-viettelpay" \
-d "order_id=ORDER12345" \
-d "order_amount=1.99" \
-d "order_currency=TRY" \
-d "order_description=Product" \
-d "payer_first_name=John" \
-d "payer_last_name=Doe" \
-d "payer_address=BigStreet" \
-d "payer_country=US" \
-d "payer_state=CA" \
-d "payer_city=City" \
-d "payer_zip=123456" \
-d "[email protected]" \
-d "payer_phone=199999999" \
-d "payer_ip=123.123.123.123" \
-d "parameters[personal_id]=personal_id" \
-d "hash=2702ae0c4f99506dc29b5615ba9ee3c0"

pyk-zalopay

If you set the value pyk-zalopay for the brand parameter you have to specify in your request the next parameter required for Vietnam:

ParameterTypeMandatoryDescription
personal_idStringConditionalPayer's Identity ID.
Condition: If the parameter is NOT specified in the request for Vietnam, then it will be collected on the Checkout page
Sample curl request
curl -X POST https://test.apiurl.com/post-va -k \
-d "action=SALE" \
-d "client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004" \
-d "brand=pyk-zalopay" \
-d "order_id=ORDER12345" \
-d "order_amount=1.99" \
-d "order_currency=TRY" \
-d "order_description=Product" \
-d "payer_first_name=John" \
-d "payer_last_name=Doe" \
-d "payer_address=BigStreet" \
-d "payer_country=US" \
-d "payer_state=CA" \
-d "payer_city=City" \
-d "payer_zip=123456" \
-d "[email protected]" \
-d "payer_phone=199999999" \
-d "payer_ip=123.123.123.123" \
-d "parameters[personal_id]=personal_id" \
-d "hash=2702ae0c4f99506dc29b5615ba9ee3c0"

pyk-iban

If you set the value pyk-iban for the brand parameter you have to specify in your request the next parameter required for Turkey:

ParameterTypeMandatoryDescription
personal_idStringConditionalPayer's Identity ID.
Condition: If the parameter is NOT specified in the request for Turkey, then it will be collected on the Checkout page
Sample curl request
curl -X POST https://test.apiurl.com/post-va -k \
-d "action=SALE" \
-d "client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004" \
-d "brand=pyk-iban" \
-d "order_id=ORDER12345" \
-d "order_amount=1.99" \
-d "order_currency=TRY" \
-d "order_description=Product" \
-d "payer_first_name=John" \
-d "payer_last_name=Doe" \
-d "payer_address=BigStreet" \
-d "payer_country=US" \
-d "payer_state=CA" \
-d "payer_city=City" \
-d "payer_zip=123456" \
-d "[email protected]" \
-d "payer_phone=199999999" \
-d "payer_ip=123.123.123.123" \
-d "parameters[personal_id]=personal_id" \
-d "hash=2702ae0c4f99506dc29b5615ba9ee3c0"

sz-in-upi

If you set the value sz-in-upi for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
upiAddressPayer's UPI addressString+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&brand=sz-in-upi&order_id=ORDER12345
&order_amount=1.99&order_currency=INR&order_description=Product&[email protected]
&payer_first_name=John&payer_last_name=Doe&[email protected]&payer_ip=123.123.123.123
&parameters[upiAddress]=address@upi&hash=2702ae0c4f99506dc29b5615ba9ee3c0

tabby

If you set the value tabby for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
categoryRequired as name of high-level category (Clothes, Electronics,etc.);
or a tree of category-subcategory1-subcategory2;
or id of the category and table with category-ids data mapped provided.
String+
buyer_registered_sinceTime the customer got registred with you, in UTC, and displayed in ISO 8601 datetime format.String+
buyer_loyalty_levelDefault: 0
Customer's loyalty level within your store, should be sent as a number of successfully placed orders in the store with any payment methods.
Number+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&brand=tabby
&order_id=ORDER12345&order_amount=100.99&order_currency=SAR
&order_description=Product&identifier=0987654321-abcd
&payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet
&payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456
&[email protected]&payer_phone=0987654321&payer_ip=123.123.123.123
&parameters[category]=Clothes&parameters[buyer_registered_since]=2019-08-2414:15:22&parameters[buyer_loyalty_level]=0
&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k

tamara

If you set the value tamara for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
shipping_amountShipping amountNumber+
tax_amountTax amountNumber+
product_reference_idThe unique id of the item from merchant's sideString+
product_typeProduct typeString+
product_skuProduct skuString+
product_amountProduct amountNumber+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004
&brand=tamara&order_id=ORDER12345&order_amount=100.99&order_currency=SAR
&order_description=Product&identifier=0987654321-abcd
&payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet
&payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456
&[email protected]&payer_phone=0987654321&payer_ip=123.123.123.123
&parameters[shipping_amount]=1.01&parameters[tax_amount]=1.01
&parameters[product_reference_id]=item125430&parameters[product_type]=Clothes
&parameters[product_sku]=ABC-12345-S-BL&parameters[product_amount]=998.17
&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k

yapily

If you set the value yapily for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
payee_nameProvide here the account provider code of the institution holding the account indicated in the Account parameter.String+
payee_countryThis parameter enables you to attach a file to the transaction. This is useful, for example, in the case where you may want to attach a scanned receipt, or a scanned payment authorization, depending on your internally established business rules. This parameter requires you to provide the name of the file you are attaching, as a string, for example “receipt.doc” or “receipt.pdf”. Note that the contents of this parameter are ignored if you have not provided the contents of the file using NarrativeFileBase64 below.String+
payee_identificationsThe account identifications that identify the Payer bank account. Array should contain the objects with the Identifications combinations: type and identification parameters.Array+
typeUsed to describe the format of the account.
Possible values:
• SORT_CODE
• ACCOUNT_NUMBER
• IBAN
• BBAN
• BIC
• PAN
• MASKED_PAN
• MSISDN
• BSB
• NCC
• ABA
• ABA_WIRE
• ABA_ACH
• EMAIL
• ROLL_NUMBER
• BLZ
• IFS
• CLABE
• CTN
• BRANCH_CODE
• VIRTUAL_ACCOUNT_ID
String+
identificationAccount Identification. The value associated with the account identification type.String+
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&brand=yapily&order_id=ORDER12345&order_amount=1.99&order_currency=GBP&order_description=Product&identifier=0987654321-abcd&payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet&payer_country=GB&payer_state=Region&payer_city=City&payer_zip=123456&[email protected]&payer_phone=199999999&payer_ip=123.123.123.123&parameters[payee_name]=Jane Smith&parameters[payee_country]=GB&parameters[payee_identifications][0][type]=SORT_CODE&parameters[payee_identifications][0][identification]=123456&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k

yo-uganda-limited

If you set the value yo-uganda-limited for the brand parameter you have to specify in your request the next parameters as well:

ParameterDescriptionValuesRequired
AccountProviderCodeProvide here the account provider code of the institution holding the accountString-
NarrativeFileNameThis parameter enables you to attach a file to the transaction. This is useful, for example, in the case where you may want to attach a scanned receipt, or a scanned payment authorization, depending on your internally established business rules. This parameter requires you to provide the name of the file you are attaching, as a string, for example “receipt.doc” or “receipt.pdf”. Note that the contents of this parameter are ignored if you have not provided the contents of the file using NarrativeFileBase64 below.String-
NarrativeFileBase64This parameter enables you to attach a file to the transaction. This is useful, for example, in the case where you may want to attached a scanned receipt, or a scanned payment authorization, depending on your business rules. This parameter requires you to provide the contents of the file you are attaching, encoded in base-64 encoding. Note that the contents of this parameter are ignored if you have not provided a file name using NarrativeFileName above.String-
ProviderReferenceTextIn this field, enter text you wish to be present in any confirmation message which the mobile money provider network sends to the subscriber upon successful completion of the transaction. Some mobile money providers automatically send a confirmatory text message to the subscriber upon completion of transactions. This parameter allows you to provide some text which will be appended to any such confirmatory message sent to the subscriber.String-
Sample curl request
curl -d "action=SALE&client_key=c2b8fb04-110f-11ea-bcd3-0242c0a85004&brand=yo-uganda-limited&order_id=ORDER12345
&order_amount=1.99&order_currency=UGX&order_description=Product
&identifier=0987654321-abcd&payer_first_name=John&payer_last_name=Doe&payer_address=BigStreet
&payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456&[email protected]
&payer_phone=199999999&payer_ip=123.123.123.123&parameters[AccountProviderCode]=provider54321
&parameters[NarrativeFileName]=file.img&parameters[NarrativeFileBase64]= iVBORw0KGgoAAAANSUhE
UgAAAAEAAAADCAYAAABS3WWCAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz
4AAAA1aVRYdENyZWF0aW9uIFRpbWUAAAAAANGB0YAsIDEwLdGC0YDQsC0yMDIzIDEyOjA4OjQ3ICswMzAwEHyhlwAAABdJ
REFUCJlj+P///38mBgYGBiYGBgYGADH7BAGR0RGuAAAAAElFTkSuQmCC&parameters[ProviderReferenceText]=thank you
&hash=2702ae0c4f99506dc29b5615ba9ee3c0" https://test.apiurl.com/post-va -k