In its commitment to facilitating streamlined open banking payments, Total Processing has joined forces with Token.io, a renowned specialist in open banking technology within Europe. This integration capitalizes on Token.io's established infrastructure, simplifying the overall process and aligning it with conventional payment integration experiences.
The technical aspect of this partnership involves an asynchronous server-to-server REST API flow. A notable advantage of this integration is that it exempts our clients from handling sensitive banking details directly, thereby positioning the procedure outside the purview of PCI compliance requirements.
Before the gateway set up with total processing can be finalised, you will need to provide the below information to our support team.
Domicile Country
Website address
MCC Code
Logo ( logo must be of good quality with a clear background)
Settlement Bank account details
DB (Debit)
The only ‘paymentType’ accepted at this current stage is DB(Debit), This allows for an instant transfer of funds from the customers bank account to your merchant bank account.
RF (Refunds)
Note at this time, refunds and payouts are not supported by this solution, If a refund is requested then the funds will need to be returned by another means.
Authorization Currencies
GBP, EUR
Regions
Open Banking are available across the UK and Europe, please advise which regions you wish to process within.
Mandatory Parameters
Field Name
Description
Required Format
Field Name
Description
Required Format
1
paymentBrand
Set as : ACI_INSTANTPAY
AN32
[a-zA-Z0-9_] {1,32}
2
bankAccount.country
Customers origin bank country
ISO Alphanumeric 2 digit code
3
amount
Amount to pay for the product of service
N10.N2[0-9]{1,10}(\.[0-9]{2})
4
currency
Payment Currency
A3 [A-Z]{3}
5
paymentType
Set to ‘DB’
A2
6
shopperResultURL
Redirect endpoint to send the customer too after they complete their Open banking journey.
AN2048
[\s\S]{6,2048}
There are no rows in this table
Asynchronous Workflow
In an asynchronous workflow a redirection takes place to allow the account holder to complete/verify the payment. After this the account holder is redirected back to the shopperResultUrl and the status of the payment can be queried.
Send payment Request
Redirect to the Open banking platform
Get Payment status
Send payment intent to the gateway with the required parameters and any additional parameters that you wish to be passed through the transaction cycle. Redirect Information will be returned in the response.
Redirect the shopper to the url provided, using the a GET request. Customer will be taken through the open banking
Once the customer has completed their their payment, the system will redirect to the shopperResultUrl where you can request the payment status of the transaction
1. Send Payment Request
The first step is to send a server-to-server initial payment request with the paymentBrand and shopperResultUrl. The shopperResultUrl must be url-encoded.
testMode=EXTERNAL : should be passed when hitting the test UAT endpoint ‘https://eu-test.oppwa.com/v1/payments’, this informs the system the to redirect to the external Token Test system.
The next step is to redirect the account holder. To do this you must parse the redirect object, that contains a url and a method, for this connection it will be consistently a GET request and no additional parameters will been to be passed. This behaviour may differ from other payment brands.
Example Response
"id":""
"paymentType":"DB"
"paymentBrand":"ACI_INSTANTPAY"
"amount":"10.00"
"currency":"GBP"
"descriptor":"Open Banking Test channel "
"result":
"code":"000.200.000"
"description":"transaction pending"
}
"resultDetails":
"ExtendedDescription":"Request created, operation in progress."
infostructure where they will select, connect and pay direct from their bank account.
Payments can be completed on desktop or Mobile, though the design and infrastructure is optimized for mobile first, this also allows for easy access to banking apps.
3. Get Payment Status
Once the payment has been processed, the customer is redirected to your shopperResultUrl along with a GET parameter resourcePath.
IMPORTANT: The baseUrl must end in a "/", e.g. "https://eu-test.oppwa.com/".
To get the status of the payment, you should make a GET request to the baseUrl + resourcePath, including your authentication parameters.
Example for a resourcePath:
resourcePath=/v1/payments/{id}
id = will be the id returned in after the initial payment intent in stage 1
Depending on the issuing bank, the time taken to send the final approval confirmation to the gateway can vary. This means that the customer might be redirected to the payment completion page before the final status of the payment has been determined.
In such cases, you will receive a new pending status from the payment response API.
Response indicating additional time is needed for approval:
Transaction Pending (00)
Transaction pending for acquirer, consumer not present (000.200.001)
If this response is received, you will need to wait for the final confirmation before considering the payment as finalized. To obtain the final status, you have two options:
Periodically call the payment response API until the payment status is updated.
Integrate webhooks into your system. With this method, you will receive a webhook notification once the issuing bank sends the confirmation.
Please note that this delay is unavoidable and is related to the banking systems.
We do not recommend keeping the customer on the page while waiting for the payment response. In our systems, we advise the customer to wait for a confirmation email.
Example Frontend message:
‘Your order is being processed. We're finalizing your payment with the bank.
You'll get a confirmation email once approved, so no need to resubmit your payment.”
Response Time Percentiles
Time before final response
Percentage
Time before final response
Percentage
1
< 30 Seconds
24%
2
< 60 Seconds
64.57%
3
< 90 Seconds
97.74%
4
< 120 Seconds
99.23%
5
< 300 Seconds
99.88%
6
<15 Minutes
99.91%
There are no rows in this table
Test Credentials
The below Entity ID and access token can be used in UAT, but to view transactions within your dashboard. Please request an individual sandbox account from our support team.
After you have been redirected, the bank Ozone modelo Bank can be used to make test payments in UAT
Username: mits
Password: mits
Branding
The Payment button and branding is down to the individual merchant, though the most common forms of branding are ‘Pay by Bank’ or ‘Bank to Bank Transfer’