API calls and Payment flows
To better understand the API functionality and the API calls, please refer to the calls diagram below:
API calls
sequenceDiagram
actor Customer
autonumber
note over Customer: Checkout process
Customer->>Eshop: purchase goods
activate Eshop
Eshop->>Merchant's Server: create checkout
deactivate Eshop
activate Merchant's Server
Merchant's Server->>Twisto: CheckoutCreate (POST)
activate Twisto
Twisto->>Merchant's Server: CheckoutCreate response
deactivate Twisto
Merchant's Server->> Customer: redirect to Twisto Gateway
deactivate Merchant's Server
activate Customer
Customer ->> Twisto: redirected Twisto Gateway webpage
deactivate Customer
activate Twisto
Twisto ->> Twisto: risk evaluation
Twisto ->> Merchant's Server: redirect to checkout.redirect_uri
deactivate Twisto
opt asynchronous noticiations enabled
note over Customer: Checkout <br/>status update
Twisto ->> Merchant's Server: webhook (checkout.status)
end
opt immediate capture not enabled
note over Customer: Charge
Merchant's Server ->> Twisto: ChargeCreate (POST)
activate Merchant's Server
activate Twisto
Twisto ->> Merchant's Server: ChargeCreate response
deactivate Twisto
deactivate Merchant's Server
end
opt refund
note over Customer: Refund
Customer ->> Eshop: returns goods
activate Eshop
Eshop ->> Merchant's Server: reports a return
deactivate Eshop
activate Merchant's Server
Merchant's Server ->> Twisto: RefundCreate (POST)
activate Twisto
Twisto ->> Merchant's Server: RefundCreate response
deactivate Twisto
deactivate Merchant's Server
end
Payment status flows
Checkouts status flow
The first API call you will make in processing a Twisto payment is a call to our /checkouts
endpoint. This request is made once a customer chooses Twisto as their payment method for a transaction.
Charges status flow
Does not apply if you selected Immediate Capture
mode during Merchant registration.
The API call you will make to complete a Twisto payment is a call to our /charges
endpoint.
This request is made once you have received an Approved checkout result back from Twisto. (via a webhook or in the redirect URL to your eshop)
If checkout is not approved, /charges
will be rejected