QR
Last updated
Last updated
In the Depay ecosystem, QR codes are a powerful tool for enabling international payments. Each QR code generated represents a "sales order" with all the necessary transaction information, including the specific payment amount, currency, and store details. Customers simply provide the essential purchase details, and Depay generates an interoperable QR code that can be used across borders. This makes it easier for merchants to accept payments from customers with local wallets, ensuring a seamless and secure payment experience without any complexity for the user.
When a user wants to make a purchase in a different country, the merchant sends the purchase details to their local Payment Service Provider (PSP). The PSP forwards the request to Depay, which calculates the currency conversion and generates a QR code compatible with the user's currency. The merchant presents the QR code to the customer, who scans it, accepts the conversion, and completes the payment. Once the payment is credited, Depay notifies the PSP via a webhook, who in turn informs the merchant of the payment outcome.
This process provides a seamless and cross-border payment experience, allowing customers to pay in their local currency while ensuring merchants receive funds in theirs, thus simplifying international transactions for all parties involved.
CREATED
The order has been created.
PROCESSING
The payment was accepted and is being processed.
COMPLETED
The payment was successfully completed.
CANCELED
The preview was not accepted by the user or it expired.
REFUNDED
The order has been refunded.
PARTIALLY_REFUNDED
The order was partially refunded.
REJECTED
The payment has been rejected by the destination bank account.
FAILED
The payment failed due to an unexepcted error.
POST
https://stage.api.payments.depay.us/qr
This endpoint allows you to create a new QR code for a specific point of sale (POS) and payment amount. By providing the necessary details, such as the POS identifier, local amount, and currencies, a QR code will be generated to facilitate the payment process. Once the QR code is scanned and the payment is either successfully completed or rejected, a notification will be sent to the provided "notification_url", keeping the customer updated on the status of the transaction. This enables a seamless cross-border payment experience.
Authorization*
String
Bearer Token
local_currency*
String
Represents the default currency of the merchant’s country. It must be provided in ISO 4217 format
local_country*
String
Merchant’s country. It must be provided in ISO 3166-1 alpha-2 format (e.g., "AR" for Argentina).
qr_from*
String
Represents the country of origin of the QR by its country code. It must be provided in ISO 3166-1 alpha-2 format (e.g., "AR" for Argentina).
amount*
Decimal
The total amount in the currency of the merchant’s currency.
pos_external_reference*
String
The identifier of the point of sale (POS) used when associating a POS to a store during the merchant onboarding process.
external_reference*
String
The identifier used to link and track the operation.
notification_url*
String
The provided URL is a POST endpoint used to receive notifications about changes in the payment status.
tax_id
String
Merchant tax identification number
items
Object
Items of the order
sku_number
String
Unique Identifier of the item
category
String
Category of the item
name
String
Name of the item
quantity
Decimal
Quantity of purchased items
unit_price
Decimal
Unit price of the item
total_amount
Decimal
Total amount of the purchased item
This response will be sent to the callback (notification_url)
.
A QR code will expire 10 minutes after its creation in both Stage and Production environments.
To simulate QR authorization in the Stage environment:
Closed QR codes, the final digit of the amount determines the simulated response:
If the amount ends in 9, the QR will return status: FAILED.
If the amount ends in 8, it will return status: CREATED, followed by CANCELED.
For any other ending digit (not 8 or 9), the QR will return status: COMPLETED.
Examples:
amount: 1000
→ COMPLETED
amount: 1008
→ CREATED then CANCELED
amount: 1009
→ FAILED
DELETE
https://stage.api.payments.depay.us/payins/qr/{order_id}
This endpoint allows you to cancel an existing QR code for a given point of sale (POS) identifier. By using this DELETE method, the corresponding QR code is invalidated, and any Pending Payment requests are effectively canceled.
order_id*
string
Uuid of the order
Authentication*
String
Bearer Token
POST
https://stage.api.payments.depay.us/qr/refund
This endpoint allows you to request a refund for an existing QR payment using the order identifier. The refund can be either partial or full, as specified in the request. Additionally, a notification_url
must be provided, where Depay will send updates regarding the refund status, such as whether it was successful or rejected.
PENDING
The refund is still being processed.
No
REJECTED
The refund encountered an error.
No
PARTIALLY_REFUNDED
The funds have been deducted from the merchant, but the refund to the customer is not yet complete.
No
REFUNDED
The refund has been successfully completed.
Yes
Authentication*
String
Bearer Token
order_id*
String
The order identifier
partial*
Boolean
true
= Partial refund
false
= Full refund
amount*
Decimal
The total amount to be refunded. The gross amount must be entered without deductions.
notification_url
String
The provided URL is a POST endpoint used to receive notifications about changes in the refund status.
reason
String
Description of the refund reason.
This response will be sent to the callback (notification_url)
.
GET
https://stage.api.payments.depay.us/payins/orders/{order_id}
Allows users to inquire about the current status of their payments.
Authorization*
String
Bearer Token
Query Parameters
order_id*
String
Order identifier. This field corresponds to the id
field within the order
object retrieved from the QR information retrieval endpoint. Required.