Added
AUD Payin Field Requirements Update — Mandatory `accountNumber` and `bsb` fields for all AUD payin bank transfers to improve transaction accuracy for Australian customers.
20 days ago by Aryan Rai
We have implemented changes to capture accountNumber and bsb as mandatory fields for AUD payin transactions to improve transaction accuracy and reconciliation for Australian bank transfers.
Changes
- New Mandatory Fields for AUD Payins:
accountNumberandbsbare now required for all AUD payin bank transfers - Validation Checks:
accountNumbermust be numeric and between 6–12 digits in lengthbsbmust be provided as a valid Bank-State-Branch code identifying the customer's Australian bank branch
- Transaction Rule: AUD payin transactions will be blocked if
accountNumberorbsbis missing or fails validation - Consistency Across Flows: Field structure for AUD payins is now aligned with AUD payouts, ensuring a uniform integration experience across both directions
Integration Details
- Update your AUD payin transaction flow to capture and submit the customer's
accountNumberandbsb - Ensure
accountNumberis collected as digits only (6 to 12 characters) - Ensure
bsbis collected as the customer's branch code - Implement proper error handling for missing or invalid field submissions
- No changes required for existing AUD payout integrations
- When using headless mode (
headlessMode: true), all required AUD payin fields — including the newaccountNumberandbsb— must be passed insidesource.additionalPaymentDetails. AvailablepaymentCodevalues for AUD can be fetched from the/v3/payment-methodsendpoint.
Example: Create AUD Payin Order in Headless Mode
The following cURL example creates an AUD payin → USDT destination order using headlessMode: true, with accountNumber and bsb supplied in the request payload:
curl --request POST \
--url https://sandbox-api.transfi.com/v3/orders \
--header 'Authorization: Basic <BASE64_API_CREDENTIALS>' \
--header 'MID: <YOUR_MID>' \
--header 'Content-Type: application/json' \
--header 'accept: application/json' \
--data '{
"userId": "UX-2123123123123",
"orderType": "payin",
"purposeCode": "company_expenses",
"headlessMode": true,
"partnerId": "your-internal-order-id",
"successRedirectUrl": "https://yourapp.com/success",
"failureRedirectUrl": "https://yourapp.com/failure",
"sourceUrl": "https://yourapp.com/source",
"source": {
"currency": "AUD",
"amount": 100,
"paymentType": "bank_transfer",
"paymentCode": "payid",
"additionalPaymentDetails": {
"accountNumber": "123456789",
"bsb": "062000",
"phoneCode": "+61",
"phone": "412345678",
"street": "123 George Street",
"postalCode": "000000",
"city": "Sydney",
"state": "NSW",
"gender": "male",
"documentType": "PASSPORT",
"documentNumber": "PA1234567",
"expiry": "01-01-2030",
"dob": "01-01-1990"
}
},
"destination": {
"currency": "USDT"
}
}'Key things to note
headlessMode: truemeans no redirect to a TransFi-hosted payment page — the order is created with all required payment details in a single API call.source.additionalPaymentDetails.accountNumbermust match the pattern^\d{6,12}$(6–12 digits, numeric only).source.additionalPaymentDetails.bsbis the Australian Bank-State-Branch code (string).paymentCodeand exact required fields can always be confirmed by calling/v3/payment-methodsforcurrency=AUDandpaymentType=bank_transfer.
Error Details
- Account Number Check: The account number provided is missing or does not meet the required format (6–12 digits, numeric only).
- BSB Check: The BSB code is missing or invalid for the provided Australian bank account.
Important Dates
- Implementation Date: May 25th, 2026 (Sandbox)
Support
For technical assistance or integration questions, please contact our support team through established communication channels.