NAV
shell java ruby python

Introduction

Open Banking is an initiative regulated by the FCA and their European equivalents and designed to bring more competition and innovation to financial services. Enabled by European PSD2 regulation and driven by governments across the EU to open up the financial services sector, Open Banking creates a new, frictionless way to pay. Under the framework, UK and EU banks have created open interfaces ( APIs ) into previously locked customer accounts and payment systems.. GlobalCharge has refined and reduced the complexity of accessing the Open Banking network with 1 API. This document details the 2 simple integration steps required to integrate with our system empowering online merchants to offer Open Banking as a new payment mechanism to end users.

alt text

alt text

STEP 1 - Initiate a transaction

To initiate a transaction:

Example will be provided soon
Example will be provided soon
# With shell, use below curl example
curl -i -X GET 'https://ob.globalcharge.com/initiate?merchantId=12345&countryCode=GB&merchantTransactionReference=ABC123&pricePoint=1&executionType=IMMEDIATE&executionDate=2021-04-29&productName=ExampleProductName&hash=7GABCDEABCDEF3BABCDEF3E'

curl -i -X POST -H "Content-Type: application/json" -d '{ "merchantId":"12345", "countryCode":"GB", "merchantTransactionReference":"ABC123", "pricePoint":"1", "executionType"-:"IMMEDIATE", "executionDate":"2021-04-29", "productName":"ExampleProductName", "hash":"7GABCDEABCDEF3BABCDEF3E"}' 'https://ob.globalcharge.com/initiate'
Example will be provided soon

Make sure to replace all the dummy values.

PROTOCOL SUPPORTED: HTTPS

METHOD SUPPORTED: GET POST

DOMAIN: ob.globalcharge.com

API PATH: /initiate

Connect to our Open Banking billing system through a single API endpoint allowing end users to make payments. You can initiate a transaction by calling our endpoint using a GET or POST method. When using a POST call to this API you will receive an HTTP response code 200 with a response body containing the redirection url where the end user needs to be redirected. If you perform a GET call on this API we do all that out of the box.

Parameters

API Endpoint: https://ob.globalcharge.com/initiate

Parameter Mandatory Type Demo Value Description
merchantId true Number 1234 Unique id for a merchant configured at GlobalCharge's side.
countryCode true String GB ISO country code from where the payment originated. Only alpha-2 ISO code can be accepted, ISO COUNTRY CODE LIST
merchantTransactionReference true String A23DSS A unique, alphanumeric maximum 32 char length transaction identifier generated at merchant's side (returned back in notifications)
pricePoint true Double 1.00 Amount to be charged.
executionType true String IMMEDIATE Possible values: IMMEDIATE, PERIODIC, SCHEDULED
productName true String Digital coin Content/Product name that the end user is purchasing. This will be displayed on the payment summary screen
executionDate true Date 2021-04-25 date YYYY-MM-DD – Ignored when execution type is 'IMMEDIATE'. Only required for other execution types and date should be a future date.
hash true String A23DSS Hash - Unique hash. Details will be provided through external communication with our tech team.

Response

API Endpoint: https://ob.globalcharge.com/initiate

CODE Description
200 Request was accepted. Only sent if the API call is initiated with HTTP POST method
302 Request was accepted. User will be redirected automatically if request was initiated from a standard browser.
400 Bad request, Parameters are missing or invalid. Contact ob@globalcharge.com

STEP 2 - Receive UI control back

To initiate a transaction:

Example will be provided soon
Example will be provided soon
# With shell, use below curl example
curl -i -X GET 'https://your-site-domain.com/return_control?merchantTransactionReference=ABC123&gc_ref=WSGDF2535'
Example will be provided soon

Once we’ve received the status update of a transaction from the bank, control will return back to you on your return control URL configured at GlobalCharge during account set up. It will be an HTTP redirection (HTTP 302) from the browser

Parameters

API Endpoint: https://your-site-domain.com/return_control

Parameter Mandatory Type Demo Value Description
merchantTransactionReference true String A23DSS This was passed by you with /initiate API
transactionId true String DKHDK66 GlobalCharge transaction reference.

STEP 3 - Receive async notification

API Endpoint: http://your-notification-end-point.com/receive_notification

Example will be provided soon
Example will be provided soon
# With shell, use below curl example
curl -i -X POST -H "Content-Type: application/json" -d '{ "status":"status", "transactionId":"WEB8433RQPCIMQLCBP", "merchantTransactionReference":"string", "countryCode":"GB", "pricePoint":1 }' 'http://your-notification-end-point.com/receive_notification'
Example will be provided soon

A server to server notification that will be sent to your notification URL configured at GlobalCharge during account set up. It will be an HTTP POST call. We expect HTTP response code 200 to be returned once the notification is handled successfully. If HTTP response code 200 is not returned we shall retry sending the notification in line with our retrial policy.

Parameters

Parameter Mandatory Type Demo Value Description
status true ENUM BILLED Status of a transaction. Possible values are BILLED/FAILED/PENDING
merchantTransactionReference true String A23DSS Passed by you with /initiate API
transactionId true String DKHDK66 GlobalCharge transaction reference.

APPENDIX

STATUS

Status Meaning
BILLED Payment was succesfully completed.
FAILED Payment was not completed.
PENDING Payment process is in a PENDING state, we are checking the status with the bank in the background and once updated another notification will be sent with BILLED or FAILED.

Execution Type

Status Meaning
IMMEDIATE Payment will be executed as soon as the request is received.
PERIODIC Subscription based payments, NOT SUPPORTED YET
SCHEDULED Will be executed on the date provided, execution date should a future date. NOT SUPPORTED YET