Authentication & Compliance

Common Issues

My server gets a HTTP timeout error when trying to respond to the charge callback notification?
Are you using Heroku's free tier? Their dynos sleep after 30 mins of inactivity and waking up takes some time - typically 10-20s. This results in the callback notification request timing out when Xfers does not receive a response after several seconds.

Consider upgrading to their Hobby plan which costs $7 a month, or keep your dyno awake longer (perhaps by pinging it) when a charge is created.
When doing a checkout, the amount indicated is a few cents less than what was charged? 
Xfers might use a random amount to help in identifying the bank transfer in case the user forgets to enter his contact number in the comments section.

The amount is randomized and will only differ from the actual amount by a minuscule difference (a few cents). The difference in fees is absorbed by Xfers. However this is only to be used as a backup; the user should always enter his contact number.
What address should I use if I want to whitelist Xfers for the payment notifications callback?
What are the withdrawal request list? 
What does the "arrival" attribute in the response mean?

If the withdrawal request is cancelled, this attribute will be nil.
If it is pending, it's an estimated date.
If paid, it's the actual date. 
What are the different types of transaction statuses? 
What are the valid callback statuses in
You only need to handle three statuses: paid, cancelled or expired.

Note that although there are many more statuses as indicated in the previous question, statuses: withheld, completed and shipped are all indicated as paid for simplicity.
How does Xfers know which Xfers Wallet should a bank transfer go to? 
By the phone number the user leaves in the “comments” section of the bank transfer page.
Why do you only accept phone numbers in the comments field for bank transfer? 
We need the phone number due to compliance requirements. We do not accept email addresses or transaction numbers as there is also a character count limit in the comments section when doing a bank transfer.
How do I log in as a guest user? 
You can’t login as guest user. If you want to log in, do a sign up and key in the phone number you used to checkout as a guest user. 
What if Xfers has a guest Xfers Wallet, and later signs up for a real account? 
He will need an email and an OTP to convert to a Xfers personal account. 
What if Xfers is connected to more than 1 merchant? 
Merchants M1, M2 connected to user. Both M1 and M2 do the connect flow for user. Merchants M1 and M2 will be linked to the same Xfers wallet.
Some of my customers receive sms and call during their OTP verification? 
If customer requests for OTP more than 3 times within 15 mins, a phone call will be triggered.
Do we inform merchants about a successful transfer in? 
Currently we have no notifications for that. However what is important is whether a charge is paid. For this we have callback notifications. See
What if my customer transfers the wrong amount? 
There are three scenarios that may occur: 

>= Amount

It can be withdrawn to the buyer's bank account.

Withdrawals can also be done programmatically here:

Note that if you are submitting a withdrawal request on behalf of the buyer, you need his user_api_token from Xfers Connect and set that as "X-XFERS-USER-API-KEY": "the user_api_token" (instead of "X-XFERS-USER-API-KEY": "your own token").

< Amount

Buyer can continue making transfers until the amount is met. If the buyer does not complete the transaction, the charge will expire (default 48 hours). The money will remain in the buyer's Xfers wallet and he can log on to his/her Xfers account to withdraw the money, or you can do it through our withdrawal API.

Types invalid comment

We will first attempt to do a match by their old name or bank account, and their unique transfer amount. The customer will be expected to fill up a form at by taking a screenshot proof of their transactions. 

For ATM transfers, you will need to take a photo of the transfer receipt. It may take up to 1- 2 business days for the funds to be credited into the buyer's Xfers account. 
What is FAST transfer?
FAST transfer is a new e-funds transfer service that is almost instantaneous. There are 19 participating banks in Singapore. Read more here at

 GIRO takes up to 3 working days. 
Does Xfers offer subscription payment services?
You can build your own subscription logic. For example, by calling the charge API every month. That way, you are in full control (e.g. Edge cases when customer cancels the plan).