Worldline Saferpay - Recurring Payments API

9+ steps
Reference a previously flagged transaction and perform subsequent payments (No 3D Secure) Official Integration Guide Integration Manual
  • Please note you can also do recurring payments with Secure Card Data (Save Alias of Card) . The process is very similar, you have the card Alias, and you do Transaction AuthorizeDirect requests with the saved card.
    The following is the Referenced Transactions Method:
  • Flag a normal transaction in order to reference it later
    1. Capture Transaction Reference by performing the Initial transaction with either the PaymentPage Interface or with the Transaction Interface
    2. Flag your transaction as Initial with the Container Payment/Recurring/Initial
    3. Validate the payment with either PaymentPage Assert , or Transaction Authorize depending the Interface you are working with.
    4. Save Transaction/Id from validation response. as this value will be used to reference recurring payments
    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
  • Actual Recurring Payments
    1. Use the Id optained to start a subsequent transaction with Transaction AuthorizeReferenced
    2. You either finalize transaction by Capture/Finalize or Cancel/Abort
  • Good to know
    • You will need Customer ID, Terminal ID, Fields Access Token, Fields registered URL, Saferpay Fields javascript library URL , (and in case of Payment Page: JSON API username, JSON API password) . You can find and register 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.
    • 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
    • Do not mix RedirectUrl, ReturnUrl, RedirectNotifyUrls, and NotifyUrl they are not the same, and serves different purpose. Your IPN is the URL where you get NOTIFIED by your URL being called (via asynchronous _GET). DO NOT IMPLEMENT TRANSACTION STEPS (e.g. CAPTURE) BY RETURN URL, 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.
    • Please note in Recurring Payments there is no 3DS on subsequent transactions, hence Liability is always on Merchants. This is not a Saferpay thing, this is the Rules and Regulations of the card schemes.
    • For both Initial and Subsequent payments you must complete the transaction.
    • 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.