Server-to-server
Server-to-server processing is a payment option that allows merchants to perform transactions and interact with the payment system without involving the end-user directly. It is commonly used for various scenarios such as recurring payments, refunds, de-registering payment methods, capturing or voiding previous preauthorizations, and SEPA DirectDebit transactions.
Use cases
- Recurring payments
- Refunds
- De-registering payment methods
- Capture or void of a previous preauthorization
- SEPA DirectDebit transactions (subject to legal jurisdiction)
Processing flow
- The transaction is triggered, for example by a customer using a stored credit card.
- MerchantThe merchant sends the appropriate API call —for example a debit or refund request— to the IXOPAY platform.
- The IXOPAY platform processes the request and sends a transaction request to the PSP.
- The PSP processes the transaction and sends the result back to IXOPAY platform.
- MerchantThe IXOPAY platform processes the PSP's response and, using the
callbackUrlfield, notifies the merchant via a callback to the URL provided in the initial API call. This callback includes the payment status and any relevant details. - MerchantThe merchant handles the callback, it is recommended to store the transaction's
uuidfor future use. - MerchantThe merchant responds to the callback with:Callback responseHTTP/1.1 200 OKContent-Type: text/plainOK
- The IXOPAY platform responds to the merchant backend with a request containing the status of the transaction, usually
FINISHED,PENDINGorERROR. - MerchantThe merchant decides what page to display to the customer depending on the transaction status.
Here's a visual representation of the processing flow using a sequence diagram:
%%{ init: { "sequence": {"mirrorActors": false} } }%%
sequenceDiagram
accTitle: Sequence diagram for server-to-server processing
accDescr: A visual representation of the steps listed above.
autonumber
actor C as Customer
participant M as Merchant
participant G as IXOPAY platform
participant PSP
C-->>+M: Trigger, for example a purchase with card-on-file
M->>+G: (Recurring) debit, or refund, etc.
G-->>+PSP: Transaction
PSP-->>-G: Result
par
G-)+M: Callback to callback URL
M->>M: Store result
M->>-G: OK
end
G-->>-M: Result
M->>-C: Thank-you or error page