Testing Bank Transfer Payments

In your demo environment, create a test payment with the following data:

1. Payer information (Magic Values)

Use any placeholder data you'd like for the required payer information.

For the payer's first name use one of the magic values depending on the scenario you want to test:

Successful Payment - realistic disbursement

This scenario simulates a realistic disbursement. Instead of advancing immediately, payments created with this magic value are held in Guaranteed until they get "disbursed" - which means they move to Delivered daily at 4:00 PM UTC (Monday through Friday). If you create multiple test payments with this value, you create a realistic disbursement file that contains multiple payments.

This magic value can be used for all payment methods.

 

Payer's First Name Payment Flow Callbacks you will receive

SANDBOX_TO_GUARANTEED_STATUS

InitiatedProcessedGuaranteed → moved daily at 4:00 PM UTC (Monday through Friday) Delivered

image Initiated

image Processed

image Guaranteed

After moving to delivered - happens daily at 4:00 PM UTC (Monday through Friday):

image Delivered

Successful Payment - disbursed immediately

This magic value moves a payment into delivered immediately. This magic value can be used for all payment methods.

Be aware that this is not a realistic payment behavior and creates disbursement files that contain only one payment, since every time a payment is moved to Delivered a new disbursement file is generated. Usually, all payments for the day get bundles into one disbursement file.

 

Payer's First Name Payment Flow Callbacks you will receive

SANDBOX_TO_DELIVERED_STATUS

InitiatedProcessedGuaranteedDelivered

image Initiated

image Processed

image Guaranteed

image Delivered

Unsuccessful Payment - cancelled payment

This scenario simulates a cancelled payment. This magic value can be used for all payment methods.

 

Payer's First Name Payment Flow Callbacks you will receive

SANDBOX_TO_CANCEL_STATUS

InitiatedCancelled

image Initiated

image Cancelled

Successful Payment - with simulated successful verification

This magic value simulates a payment that fails automated checks and gets routed to manual review which ends up being successful. This can happen for any payment method if a manual review (for example document collection or quality checks) is necessary.

The manual compliance review time is simulated as 2 hours, but note that the actual duration on a real compliance review differs depending on the necessary reviews.

 

Payer's First Name Payment Flow Callbacks you will receive

SANDBOX_TO_VERIFICATION

InitiatedProcessed → after 2 hours Guaranteed → moved daily at 4:00 PM UTC (Monday through Friday)Delivered

image Initiated

image Processed

After 2 hours:

image Guaranteed

After moving to delivered - happens daily at 4:00 PM UTC (Monday through Friday):

image Delivered

Unsuccessful Payment - with simulated failed verification

The magic value simulates a payment that fails automated checks and gets routed to manual review and fails the check. This can happen for any payment method if document collection or quality checks fail and cannot be manually corrected by contacting the payer.

The manual compliance review time is simulated as 2 hours, but note that the actual duration on a real compliance review differs depending on the necessary reviews.

 

Payer's First Name Payment Flow Callbacks you will receive

SANDBOX_TO_VERIFICATION_FAILED

InitiatedProcessed → after 2 hours Cancelled

image Initiated

image Processed

After 2 hours:

image Cancelled

Re-initiated Cancelled Payment

This can happen for payments made via bank transfer, card, or alternative payment methods.

In some edge cases, the Cancelled status isn't final. It is important to ensure that your platform can handle callbacks that occur after cancelled.

When can this happen?

For bank transfer:

A bank transfer is automatically cancelled if Flywire doesn't receive the funds in time. However, if the payer sent funds but they did not arrive before the cancellation or there was a bank delay, Flywire will re-initiate and process the payment if the FX rate is similar. This moves a payment from cancelled back through the standard flow.

For payment via card and alternative payment methods:

If the third-party caused the payment to go into cancelled even though the transaction was successful, Flywire is able to re-initate the payment.

 

Payer's First Name Payment Flow Callbacks you will receive

SANDBOX_CANCELLED_BACK_TO_PROCESS_STATUS

InitiatedCancelledInitiatedProcessedGuaranteedDelivered

image Initiated

image Cancelled

image Initiated

image Processed

image Guaranteed

image Delivered

Under- or Overpayment

This can only happen for bank transfer as the payment method (because the payment is completed manually outside of the Flywire platform). If the payer transfers a slightly wrong amount, the payment amount that is Guaranteed (and will be Delivered ) can be different from the Initiated amount.

The guaranteed amount will always be the same as the delivered amount.

 

Payer's First Name Payment Flow Callbacks you will receive

SANDBOX_SMALL_UNDERPAYMENT_STATUS

Initiated ($1000) → Processed ($1000) → Guaranteed ($950) → Delivered ($950)

image Initiated (with original amount)

image Processed (with original amount)

image Guaranteed (with amount minus 50)

image Delivered (with amount minus 50)

SANDBOX_SMALL_OVERPAYMENT_STATUS

Initiated ($1000) → Processed ($1000) → Guaranteed ($1050) → Delivered ($1050)

image Initiated (with original amount)

image Processed (with original amount)

image Guaranteed (with amount plus 50)

image Delivered (with amount plus 50)

Payment with a Refund

This scenario simulates a payment with a refund. The magic value triggers the following flow:

  1. Payment gets created and delivered.

  2. Then a refund is created, pushed to the finished status, and the bundle is automatically generated.

    (You won't receive any callbacks for those refunds and bundles).

  3. The reversed callback is sent with information about the refund.

While the payment status remains delivered, you will receive a callback that the payment has been reversed due to a refund.

This magic value can be used for all payment methods.

 

Payer's First Name Payment Flow Callbacks you will receive

SANDBOX_TO_REVERSED_REFUND

InitiatedProcessedGuaranteedDelivered

image Initiated

image Processed

image Guaranteed

image Delivered

image Reversed

2. Payment option

Choose bank transfer as the payment option.

The bank transfer instructions will be displayed but you can ignore them, since at this point the payment has already been created and will move through the statuses according to the scenario you chose.

3. Check the results

You will receive callbacks according to the scenario you chose (see Payment Status Notifications for details).