Creating QR Payout Transfer
Creating a QR-Payout Transfer (API link): When creating a QR Payout, you need to provide the raw QR code string scanned by the end-user. TransFi will decode this string to extract the required bank account details and network routing information automatically. If an invalid, expired, or unsupported QR code is provided, the payout will be rejected.
Must-Do Note: For QR Payouts, the orderType will still be "payout". However, to successfully perform a QR Payout, you must mandatorily provide the qrCode string inside the destination object.
Minimal payload:
curl --location 'https://api.transfi.com/v3/orders' \
--header 'MID: *****' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'Authorization: *****' \
--data-raw '{
"orderType": "payout",
"source": {
"currency": "USDT"
},
"destination": {
"currency": "VND",
"amount": 3500000,
"qrCode": "0002012659043f34fg5g543h53OV.BCB.PIX0122lolololo213@gmail.com0211Kaue g34g34g34g34g34 GUAjjfjJNDJNFUINAcKEXz0ttHEiAi630482A5"
}
}'Full payload:
curl --location 'https://api.transfi.com/v3/orders' \
--header 'MID: *****' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'Authorization: *****' \
--data-raw '{
"orderType": "payout",
"partnerId": "unique-id-01",
"purposeCode": "other",
"purposeCodeReason": "rent payment",
"sourceUrl": "https://yourapp.com/source",
"customerMetaData": {
"customerId": "1234567890",
"customerName": "John Doe",
"customerEmail": "[email protected]"
},
"deviceDetails": {
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
"ipInfo": {
"ip": "123.123.123.123",
"countryCode3": "IND"
}
},
"source": {
"currency": "USDT"
},
"destination": {
"currency": "VND",
"amount": 3500000,
"qrCode": "0002012659043f34fg5g543h53OV.BCB.PIX0122lolololo213@gmail.com0211Kaue g34g34g34g34g34 GUAjjfjJNDJNFUINAcKEXz0ttHEiAi630482A5"
}
}'Comparison: QR Payout vs. Normal Fiat Payout
Based on the provided cURL examples, here are the key differences between a Normal Fiat Payout and a QR Payout:
-
Destination Object Structure (The biggest difference):
- Normal Payout: Requires explicit routing instructions. You must provide
paymentType(e.g., "bank_transfer"),paymentCode(e.g., "sepa_bank"), and anadditionalPaymentDetailsobject containing sensitive banking info like IBAN, BIC, street, city, and postal code. - QR Payout: Replaces all manual routing and banking information with a single
qrCodestring. The system extracts the equivalent routing and account details directly from this string.
- Normal Payout: Requires explicit routing instructions. You must provide
-
User Identification (
userIdvspartnerId):- Normal Payout: Uses
userId("UX-2123123123123") at the root level to identify the TransFi user making the transaction. - QR Payout: The provided example omits
userIdand creates the Payout Recipient internally from the Encoded QR Code Details as it has the name and details of the recipient.
- Normal Payout: Uses
Updated about 6 hours ago