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.
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)
.
COMPLETED: Successful payment.
REJECTED: Payment rejected.
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.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.
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)
.
PENDING: The refund is still being processed. Status is not final.
PROCESSING: The funds have been deducted from the merchant, but the refund to the customer is not yet complete. Status is not final.
ACCEPTED: The refund has been successfully completed. Status is final.
REJECTED: The refund encountered an error. Status is final.