Auto-Refund Feature: Frequently Asked Questions
What is the new auto-refund feature?
The new auto-refund feature enables eligible transactions to be automatically refunded directly to the originating source addresses. This streamlines the refund process for our merchants, eliminating the need for them to send a refund link that the end-user has to open and claim. It specifically helps in resolving refunds due to LATE, OVER, or UNDER Payments more quickly.
How do I enable auto-refunds for my merchant account?
To enable auto-refunds to the originating wallet address, please contact your account manager.
Can I choose when auto-refunds are processed (e.g., for late payments only)?
Yes, the setting can be enabled for any one of, or for all, LATE, UNDERPAID, or OVERPAID payment scenarios on your merchant's Wallet settings. This provides flexibility in how you want auto-refunds to function.
What does it mean for refunds to process automatically to the originating wallet address?
This means that when an auto-refund is triggered, the funds will be sent back to the exact wallet address from which the original payment was made.
What happens if a payment comes from a Centralized Exchange (CEX) like Coinbase?
If the payment originated from a Centralized Exchange that uses pooled accounts (like Coinbase), the refund will be processed back to that pooled account. Merchants need to be aware that in such cases, it will be the end-user's responsibility to submit the transaction hash to the exchange and claim their funds from the exchange.
What happens if a payment comes from a self-hosted wallet?
If the end-user made the payment from a self-hosted (non-custodial) wallet, the refunded funds will immediately appear back in their original wallet without any additional steps required from the user.
Which currencies are supported for auto-refunds?
The following currencies are supported for auto-refunds:
-
ETH
-
USDT
-
USDC
-
BNB
-
PYUSD
-
XRP
-
SOL
-
POL
-
TRX
-
ALGO
Which currencies are NOT supported for auto-refunds?
The following UTXO-based currencies are not supported for auto-refunds:
-
BTC
-
LTC
-
DogeCoin
-
BitcoinCash
-
Cardano (ADA)
Why are some currencies not supported for auto-refunds?
Currencies based on UTXO (Unspent Transaction Output) blockchains are not supported for auto-refunds due to their nature, which allows for multiple inputs in a transaction. These currencies will continue to follow the standard refund process, where a refund link is generated and shared with the end-user.
What are the benefits of using the auto-refund feature?
The main benefits include:
-
Faster Refunds: Customers receive their refunds more quickly, improving their overall experience.
-
Reduced Manual Effort: Automates a significant portion of the refund process, freeing up time for both merchants and their end-users.
-
Improved Efficiency: Streamlines operations and helps reduce the potential for human error in refund processing.
Examples of what to expect:
Snippet of Webhooks for the payment
"source": "payment", "event": "transactionLate", "data": { "uuid": "3d8ff99f-3f68-4abb-980c-4c573f5fa96f", "merchantDisplayName": "MS USD wallet", "merchantId": "5bb854c2-3191-4534-9147-a38c85bc9c9c", "dateCreated": 1748856479000, "expiryDate": 1748856727000, "quoteExpiryDate": 1748856659000, "acceptanceExpiryDate": 1748856519000, "quoteStatus": "ACCEPTED", "reference": "ETHautoRefund", "type": "IN", "subType": "merchantPayIn", "status": "EXPIRED", "displayCurrency": { "currency": "USD", "amount": 10, "actual": 0 }, "walletCurrency": { "currency": "USD", "amount": 10, "actual": 0 }, "paidCurrency": { "currency": "ETH", "amount": 0.00402485, "actual": 0.00402485 }, "feeCurrency": { "currency": "USD", "amount": 0, "actual": 0 }, "networkFeeCurrency": { "currency": null, "amount": 0, "actual": 0 }, "displayRate": { "base": "ETH", "counter": "USD", "rate": 2484.564642160577 }, "exchangeRate": { "base": "ETH", "counter": "USD", "rate": 2484.56397 }, "address": { "address": "0x3c972d5e50663a6a3f7a9449384b853684d6342a", "tag": null, "protocol": "ETH", "uri": "ethereum:0x3c972d5e50663a6a3f7a9449384b853684d6342a?value=4.02485E+15", "alternatives": [] }, "returnUrl": "", "redirectUrl": "https://pay.bvnk.com/payin/3d8ff99f-3f68-4abb-980c-4c573f5fa96f", "transactions": [ { "dateCreated": 1748857852000, "dateConfirmed": 1748857936000, "hash": "0x48b6b6a433bead87974e6b5987dfaa5368bf8d48fdffc56cbbd66bb2d241f52c", "amount": 0.00402485, "networkFeeCurrency": "ETH", "networkFeeAmount": 0.00006932, "sources": [ "0xa5f0e3bbfa02f58ac1b475d79e828dd8ad2226c7" ....
Snippet Webhooks for the auto-refund
{.... "uuid": "9f0a0195-58f0-46d4-9238-afbefed37136", "merchantDisplayName": "MS USD wallet", "merchantId": "5bb854c2-3191-4534-9147-a38c85bc9c9c", "dateCreated": 1748857937000, "expiryDate": 1756741937000, "quoteExpiryDate": 1756741937000, "acceptanceExpiryDate": 1748857967000, "quoteStatus": "ACCEPTED", "reference": "REFUND-ETHautoRefund-916118588", "type": "OUT", "subType": "merchantRefund", "status": "COMPLETE", "displayCurrency": { "currency": "USD", "amount": 9.98, "actual": 9.98 }, "walletCurrency": { "currency": "ETH", "amount": 0.00402485, "actual": 0.00402485 }, "paidCurrency": { "currency": "ETH", "amount": 0.00402485, "actual": 0.00402485 }, "feeCurrency": { "currency": "USD", "amount": 0, "actual": 0 }, "networkFeeCurrency": { "currency": null, "amount": 0, "actual": 0 }, "exchangeRate": { "base": "ETH", "counter": "ETH", "rate": 1 }, "address": { "address": "0xa5f0e3bbfa02f58ac1b475d79e828dd8ad2226c7", "tag": null, "protocol": "ETH", "uri": "ethereum:0xa5f0e3bbfa02f58ac1b475d79e828dd8ad2226c7?value=4.02485E+15", "alternatives": [] }, "returnUrl": "", "redirectUrl": "https://pay.bvnk.com/payout/9f0a0195-58f0-46d4-9238-afbefed37136", "transactions": [ { "dateCreated": 1748858015000, "dateConfirmed": 1748858015000, "hash": "0x8a86c9d862865263aa213d5f9e3293fb7689bade803e633b875f77cd9dee09fd", "amount": 0.00402485, "networkFeeCurrency": "ETH", "networkFeeAmount": 0, "sources": [], "displayRate": { "base": "ETH", "counter": "USD", "rate": 2479.595512876256 }, ....
What a customer could expect to see from their wallet app