1.18. Bank transfer with Invoice

Introduction

This Use-Case describes how Connecting Party can issue invoices for Swift or similar wire bank transfer systems in Payment Gateway and display these invoices to Payers. Incoming bank transfer statuses might be updated automatically or manually.

See terms definitions in Glossary.

Bank Wire Transfer Flow

  skinparam roundcorner 20
 skinparam sequenceArrowThickness 2
 skinparam ParticipantPadding 30
 actor Payer as Customer
 participant "Connecting Party\nwebsite" as Merchant
 participant "Payment Gateway" as g
 autonumber
 Customer -> Merchant: Checkout
 activate Merchant
 == Purchase payment request ==
 Merchant -> g: api/v2/auth-cash
 activate g
 g --> Merchant: orderId
 g --> g: Generating payment invoice
 == Receive Connecting Party Callback ==
 Merchant <- g: Сallback with final status
 g <-- Merchant: HTTP 200
 deactivate g
 == Order Status Request ==
 Merchant -> g: api/v2/status
 activate g
 g --> Merchant: Response \nstatus, order-stage, receipt-id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
 deactivate g
 == Get invoice in XML, PDF or both ==
 group XML
 g <-- Merchant: view-invoice-xml/ENDPOINTID/receipt-id
 activate g
 g --> Merchant: XML
 deactivate g
 end
 group PDF
 g <-- Merchant: view-invoice/ENDPOINTID/receipt-id
 activate g
 g --> Merchant: PDF
 deactivate g
 end
 Merchant -> Customer: Show result
 deactivate Merchant

(2) To implement bank transfer request see /api/v2/auth-cash/.

(5,6) To implement order status request see /api/v2/status/. Status should be requested multiple times with 3-5 seconds interval until final status will be received in response. receipt-id will be received in status response.

(7) To implement callback with final status handling see Connecting Party.

(9) To implement view-invoice-xml request see /view-invoice-xml/. receipt-id will be used to get invoice in XML format.

(11) To implement view-invoice request see /view-invoice/. receipt-id will be used to get invoice in PDF format.

Simple Bank Transfer Flow Statuses

Stage nameDescription
AUTH_APPROVEDInvoice was issued for the Payer.
CANCEL_APPROVEDPayer didn’t complete the transfer. This stage is optional and may be used for better transaction control in back-office.
CAPTURE_APPROVEDFunds were transferred to the Connecting Party account (settled).
VOID_APPROVEDFunds were returned by the Payer (recalled).
REVERSAL_APPROVEDFunds were returned to the Payer by Connecting Party.

Extended Bank Transfer Flow Statuses

Stage nameDescription
AUTH_STARTINGTransaction was initiated.
AUTH_INVOICEDInvoice was issued for the Payer. It may be downloaded in back-office, sent to Payer by e-mail or requested via API.
AUTH_SENTPayer informed the Connecting Party that invoice have been paid. This stage may be skipped.
CANCEL_APPROVEDPayer didn’t complete the transfer. This stage is optional and may be used for better transaction control in back-office.
AUTH_APPROVEDTransfer was received by the bank.
CAPTURE_APPROVEDFunds were transferred to the Connecting Party account (settled).
VOID_APPROVEDFunds were returned by the Payer (recalled).
REVERSAL_APPROVEDFunds were returned to the Payer by Connecting Party.
CHARGEBACK_APPROVEDFunds were charged back by the Payer.

Contact us

By clicking on the button, you agree to the data protection policy

Complete the quiz

By clicking on the button, you agree to the data protection policy