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.