Hosted

Flow

Usually, payment flow looks like this:

  1. Customer wants to pay for some service or product on merchants side
  2. Merchant creates order for specific amount of money
  3. Api payment endpoint returns url that should be used to redirect customer
  4. Guides the customer through process of payment completion
  5. Order status can be changed to one of final
  6. (Optional) After all necessary steps are completed, redirects customer to returnUrl
  7. (Optional) We sends webhook to the specified webhookUrl
Looking for something?

Feel free to contact us if you need some other payment method.

Methods

Currently, we support payment method:

Card

POST /api/v3/order/payment-form/create
{
# A unique id on the merchant side. Required
"merchantOrderId": "1697633610",
"invoice": {
# The quantity of currency to be paid. Numeric-string. Required
"amount": "100.54",
# Three-letter ISO currency code, in lowercase. Required
"currency": "eur"
},
# Send this data in case if you need to match biller and payer.
# In case if we found mismatch of CPF – we reject payment.
"client": {
# Optional
"name": "Michael Schumacher",
# Steuernummer or TaxID. Optional
"taxpayer": {
"number": "67223188006"
}
},
# Endpoint that will be used to return client on your site. Optional
"returnUrl": "https://example.com/return-url/1697633610",
# Endpoint that is expected to receive webhook. Optional
"webhookUrl": "https://example.com/webhook-url/1697633610"
}

Response

  1. Order was created successfully and actions should be performed by the customer
  2. Order was rejected by third party
{
"data": {
"id": "33bf4dd6-7ba7-40aa-9b2d-14b96db68dde",
"merchantOrderId": "1697633610",
"type": "payin",
"createdAt": "2024-07-15T14:45:22+00:00",
"auth": {
"type": "redirect",
"redirectUrl": "https://example.com/fp/check?orderId=33bf4dd6-7ba7-40aa-9b2d-14b96db68dde&nextPage=/challenge/869885d4-d162-4a8f-9bc7-418207e848e7"
},
"status": "processing",
"rejectReason": null
},
"error": null
}

Auth

Depending on the selected payment method, there are different ways in which customers can make a payment. The provided object specifies the required action for customers to complete their payment.

Attention

Please note that the payment process may not always be consistent for the same payment method.

Therefore, you should be prepared to support all these variations.

Whenever possible, we provide you with all the data necessary for you to process the payment on your end. However, there may be situations where we have to resort to the redirect type and let the customer handle the payment themselves

Errors list

CodeDescription
INVALID_DATAInvalid request data. Check json syntax
VALIDATIONValidation error. See error.validationErrors for details
METHOD_NOT_FOUNDEndpoint not found
INVALID_HTTP_METHODOnly POST method allowed
AUTHENTICATION_FAILEDCheck your api token
ORDER_ALREADY_EXISTSOrder with same merchantOrderId already exists
ORDER_NOT_FOUNDSpecified order was not found
REJECTED_DUE_TO_TECHNICAL_ISSUERejected due to technical issue
REQUEST_FROM_UNTRUSTED_SOURCERequest from untrusted source (ip not allowed)
PAYIN_DISABLEDPayment disabled. Contact us to enable
PAYOUT_DISABLEDWithdrawal disabled. Contact support to enable
WALLET_NOT_FOUNDWallet not found. Contact support to enable wallet
WALLET_INACTIVEWallet inactive. Contact support to enable wallet
ROUTING_NOT_CONFIGUREDRouting not configured. Please contact us for details
POINT_NOT_FOUNDThere is no way to process transaction. If issue is persistent please contact us for additional details
AMOUNT_GREATER_THAN_ALLOWEDOperation amount greater than allowed
AMOUNT_LESS_THAN_ALLOWEDOperation amount less than allowed
NOT_ENOUGH_BALANCEOperation amount greater than available balance
OPERATION_NOT_SUPPORTEDOperation not supported
REFERER_REQUEST_DOES_NOT_MATCH_ALLOWED_SOURCESReferer from request does not match user hosts. Please contact us if you have any questions.
UNKNOWNUnknown error

Order status

Refer to the Status & Webhook section for generic guidance.

POST /api/v3/order/get-status
{
"merchantOrderId": "1697633610"
}

The processing order status indicates that the order is awaiting its final status.

This status is not final and can be changed.

RESPONSE
{
"data": {
"id": "2d75f116-5c79-49cd-9ce3-32003bd45efe",
"merchantOrderId": "1697633610",
"type": "payin",
"createdAt": "2023-10-18T12:53:32+00:00",
# Status of order
"status": "processing",
"subStatus": "awaiting_confirmation",
"merchantSourceWallet": null,
"merchantTargetWallet": null,
"transactions": [
{
"type": "payin",
"id": "2eab2f9e-8374-4ff6-bfeb-204b9cee3dbe",
# Status of transaction
"status": "processing",
# Amount of money that will be charged from customer,
# valid for any currency: EUR, USD, etc.
"authorized": {
"amount": "100.54",
"currency": "eur"
},
# Amount of money that will be received
# by merchant after order completion, valid
# for any currency: EUR, USD, etc.
"merchantWallet": {
"amount": "100.54",
"currency": "eur"
},
"counterpartyInfo": null,
"paymentInfo": null,
"createdAt": "2023-10-18T12:53:32+00:00",
"completedAt": null,
"rejectReason": null
}
]
},
"error": null
}

Are there any inquiries still outstanding?

Our team of experts is available 24/7 to answer all your questions. Feel free to reach out to us at any time, and we will be happy to help you address any inquiries or issues. Your comfort and satisfaction are our priority.

Need help?

Contact support