Worldline Saferpay - Payment Page (Redirect) API

6 steps
Redirect Customer's browser to payment page, after the payment Customer is redirected back to your shop. Official Integration Guide Integration Manual Demo-environment
  1. Initialize the payment, get the payment url as response
  2. Redirect Customer to RedirectUrl (Payment Page)
  3. Your backend waits for notifyURL being called by Saferpay (_GET)
  4. NotifyURL called, query for transaction data & state with Assert
  5. Based on transaction data (State, LiabilityShift), your backend decides what to do with the transaction
  6. You either finalize transaction by Capture/Finalize or Cancel/Abort
Good to know
  • You will need Customer ID, Terminal ID, JSON API username, JSON API password . You can find and generate these from Saferpay Back Office
  • For test environment, please register your test account here
  • Your base URL is either https://www.saferpay.com/api OR https://test.saferpay.com/api depending on which environment you are at.
  • To skip card brand selection step on Payment Page (VISA, Mastercard, ...), only send Card in PaymentMethods like this: 'PaymentMethods' => array('CARD')
  • You should store response data in your backend's database while implementing different steps of payment, you would likely need a value from a previous call, e.g. Token from Initialize
  • It is recommended to build your notify URLs with a unique id of the transaction like this: https://yourshop/notify?id=12345. This way, when this URL is called, you can identify the transaction and find it in your database
  • Do not mix ReturnUrls and notifyURLs, they are not the same. Return URLs are for redirect browser back to your shop, while notifyURLs is only used to let you know (IPN) if the transaction state has changed (via asynchronous _GET). DO NOT IMPLEMENT TRANSACTION STEPS (e.g. CAPTURE) BY RETURN URLS, AS YOUR PROCESS CAN BREAK IF CUSTOMER CLOSING BROWSER, LOOSING CONNECTION, ETC.
  • Always check LiabilityShift results. It is your choice to stand financial responsibility in a possible chargeback of a transaction. We recommend to implement a transaction amount based evaluation e.g. above 10 EUR you drop if LiabilityShift = NO.
  • The Transaction is only completed when it's a green dot icon (not circle) in Saferpay Backoffice Interface . Transactions that are not completed (e.g. Authorized state with green circle icon) will release amount automatically back to cardholder's account by time and later charge of the amount might not be possible.