Mobile Inline Gateway
Payment flow
1. Payer clicks on checkout
2. Merchant app calls the merchant backend
This is necessary since only the backends can be trusted to communicate securely.
3. The merchant's backend calls the Barion API
The endpoint is the ususal payment/start. The merchant does not have to add any new information to the request.
4. Receives back the ClientSecret in the response
5. The merchant’s backend forwards the ClientSecret to the merchant’s mobile appp
6. Merchant's app intializes the Barion SDK
import BarionSDK
...
let fastpayment = FastPayment(paymentClientSecret: paymentClientSecret, options: options)
fastpayment.present(from: self){ result in
switch result {
case let .success(paymentResult):
// TODO handle successful payment result and validate it on your backend
print("successful payment")
case let .failure(error):
// TODO handle the error
print(error.errorCode)
}
}The structure of the options parameter
{
"merchantOwnedPaymentData": {
"methods": [
{
"method": "card",
"token": "sdafsfrRTYS556y7fdFG",
"title": "My private card",
"data": {
"cardNr": "4578"
}
},
{
"method": "balance",
"token": "sdafsfrRTYS556y7fdFG",
"title": "My company card",
"data": {
}
},
{
"token": "sdafsfrRTYS556y7fdFG",
}
]
},
"renderOptions": {
"paymentMethodOrder": [
"apple-pay",
"card",
"google-pay",
"barion-wallet"
],
"gwOptions":{
"arrowColor": "green",
}
"paymentMethodOptions": [
{
"method": "barion-wallet",
"options": {
"title": "Fizess Barionnal!",
"background": "white"
}
},
{
"method": "apple-pay",
"options": {
"border": "black"
}
}
]
}
}