Global Solutions API

Global Solution payment gateway integration API documentation

Terms and Definitions

  • System — Global Solutions payment gateway.

  • Merchant — Global Solutions client who works with the System.

  • API — application program interface for interacting with the system, located at https://api.global-solutions.io

  • Back Office — merchant's back office in the system, located at https://dashboard.global-solutions.io

  • Card — a bank card of Visa, MasterCard or MIR systems.

  • Acquirer — a settlement bank.

  • Issuer — a bank that issued a card.

  • Cardholder — an owner of a card issued by a bank.

  • Widget — payment form, provided by the system to enter card data by a holder and perform a further authorization.

  • 3-D Secure — protocol to verify a holder by the issuer.

Transaction types

The system involves three types of operations: payment, refund, and payout. In the first case, money is transferred from holder's account to the merchant, in the second - vice versa. A merchant performs a refund if a buyer wants to return goods, and it is always associated with a payment transaction, which amount returns to a holder. It is possible to refund a whole payment amount or it's part only. Money usually comes back to a holder’s card the same day, but sometimes (it depends on an issuer) it can take up to 3 days. Payout operation is used to transfer the funds from the merchant account to the Cardholder's account. The payout is possible only when the initial payment with a Card was done using the System.

Payment Methods

  • Via payment form — widget. Add a script that opens a secure payment form (iframe) to enter card data.

  • Via API by a card’s cryptogram. Add a checkout to your web site which collects card data from any web site’s form, encrypts and creates a cryptogram for a secured transmission through an interserver interaction.

  • Via redirect. User gets redirect to a payment page hosted on our servers.

3-D Secure

3-D Secure is a common name of Verified By Visa and MasterCard Secure Code programs from Visa and MasterCard's respectively. In general, such program shall authenticate a cardholder (that is to protect against an unauthorized card usage) by an issuer before a payment. Actually, it looks as follows: a cardholder specifies card data. Then the issuer’s web site opens, where a cardholder has to enter a password or a secret code (usually, the code is sent in a SMS message). If the code is correct, a payment will be successful. Otherwise, it will be rejected.

During the payment process, 3-D Secure appears not on all cards, but only on those, Issuers supporting this technology. Certainly, payments without 3-D Secure are a less secure option.

Payment via Redirect

In Payment Redirect method the user gets redirected to the payment page, hosted by the System. After the user has entered his/her bank card data, the user then gets redirected back to the merchant site.

The Payment Redirect link is located in the Back Office and can be used in the following way:

Parameter

Type

Usage

Description

amount

Number

Required

Payment amount

description

String

Required

Description of a payment purpose in text format

currency

String

Required

Payment currency

invoiceId

String

Optional

Order or Invoice number

accountId

String

Optional

Payer's identifier. If specified, the payment token will be returned in the Notification which can be used for payouts

successUrl

String

Required

URL the user gets redirected, after the successful charge transaction.

failureUrl

String

Required

URL the user gets redirected, after the charge transaction has failed.

pendingUrl

String

Required

URL the user gets redirected when the charge transaction status cannot be immediately returned. The merchant should expect to receive the end status of the transaction in Notification.

cancelUrl

String

Required

URL the user gets redirected, after the payment was cancelled by the user.

locale

String

Optional

Payment form language. The default language is English when the parameter is not specified.

All query parameters passed to the redirect url (incl. description, accountId, successUrl, failureUrl, pendingUrl) should be URL encoded.

Payment Widget

Payment widget is a pop-up form to enter card data and payer’s email address. The widget automatically defines a payment system type: Visa, MasterCard, Maestro or MIR, and an emitting bank of a card and corresponding logos. The form is optimized for use in any browsers and mobile devices. There is an iframe opens within a widget which guarantees a security of card data sending and does not require a certification for merchant's usage.

Widget Installation

To install a widget, you need to add a script on a web site to the head section:

Define a function for charge method calling for payment form to display

Call the function when some event is emitted, for example click on the «Pay» button:

Or use a link to call the payment method:

Parameters

Parameter

Type

Usage

Description

publicId

String

Required

A merchant identifier, located in Back Office

description

String

Required

Description of a payment purpose in text format

amount

Numeric

Required

Payment amount

currency

String

Required

Payment currency

invoiceId

String

Optional

Order or Invoice number

accountId

String

Optional

Payer's identifier. If specified, the payment token will be returned which can be used for payouts

locale

String

Optional

Payment widget's language. The default language is English when the parameter is not specified.

You can define the form behaviour for successful or unsuccessful payment using the following parameters:

Parameter

Type

Usage

Description

onSuccess

Function

Optional

Function will be called after successful payment completion

onFail

Function

Optional

Function will be called after unsuccessful payment completion

Locale

You can specify you language locale when the payment widget is created. The following locales are supported right now:

Locale

Language

en_US

English language. Used by default.

ru_RU

Russian

API

API is an application program interface to interact with Merchant's system.

Interface works on api.global-solutions.com and provides functionality for making a payment, refunding, and payouts.

The system returns a response in JSON format which includes at least two parameters: success and message:

Requests Authentication

For authentication HTTP Basic Auth is used which is sending a login and a password in a header of HTTP request. Public ID serves as a login and API Secret serves as a password. Both of these values you can get in the back office.

Duplicate Requests Protection

invoiceId parameter is used to identify the uniqueness of the request sent from the Merchant to the System. That means you can send several requests to the system with the same invoiceId identifier, and only one request will be processed. The following requests with the same invoiceId will be Declined. Thus the protection against network errors is implemented which can lead to creation of duplicate records and actions. The time interval when the System considers the received invoiceId is duplicate can be configured individually per Merchant.

Duplicate Requests Protection by invoiceId is disabled by default. Refer to you Account Manager in case the Protection has to be activated.

Test

POST https://api.global-solutions.io/test

The method to test the interaction with the API.

Headers

Name
Type
Description

Authorization

string

HTTP Basic authentication

Content-Type

string

application/json

Payment

POST https://api.global-solutions.io/payments/charge/card

The method to request a payment with Card data supplied. This method is used when the Card data is collected on the merchant's side.

Headers

Name
Type
Description

Authorization*

string

HTTP Basic authentication

Content-Type*

string

application/json

Request Body

Name
Type
Description

publicId*

string

Merchant identifier. Located in the Back Office

amount*

number

Payment amount

currency*

string

Payment currency

name*

string

Cardholder's name

description*

string

Description

card*

object

Card data of a payment. See the example below for the card data object structure.

invoiceId

string

Order or invoice number

accountId*

string

Payer's e-mail address. If specified, the payment token will be returned which can be used for Payouts

ip*

string

Payer's IP address

successRedirectUrl

string

URL the user gets redirected to after the successful charge transaction. This parameter is used only when the integration supports "Redirect 3-DS" schema.

failureRedirectUrl

string

URL the user gets redirected to after the charge transaction has failed. This parameter is used only when the integration supports "Redirect 3-DS" schema.

pendingRedirectUrl

string

URL the user gets redirected to when the end status of the transaction cannot be retrieved yet. This parameter is used only when the integration supports "Redirect 3-DS" schema.

Payment request example

Response: transaction success

Response: transaction failure

Response: 3-D Secure authentication redirect is required (Redirect 3-DS)

Payment response depends on the processing card. If the card participates in 3-D Secure, in Redirect 3-DS schema the response will contain a link, the user should be redirected to, to complete the 3-D Secure authentication.

After completing the 3-D Secure verification, depending on the verification results, the user gets redirected either to successRedirectUrl or failureRedirectUrl or pendingRedirectUrl parameter value, supplied in the Payment request.

Response: 3-D Secure authentication handling by merchant is required (Advanced 3-DS)

In the Advanced 3-DS schema, to complete 3-D Secure authentication, merchant needs to forward a payer to the address specified in the acsUrl parameter of the server's response with following parameters:

  • MD — transactionId parameter from server response

  • PaReq — same parameter from server response

  • TermUrl — the address on your site for returning the payer once authentication successful

Form example

When authentication is done, payer will be returned to TermUrl with the MD and PaRes parameters passed in the POST method.

To complete the payment, use post3ds method.

Post 3-D Secure

POST https://api.global-solutions.io/payments/post3ds

The method to validate payment's 3-D Secure authentication

Headers

Name
Type
Description

Authorization*

string

HTTP Basic authentication

Content-Type*

string

application/json

Request Body

Name
Type
Description

transactionId*

integer

MD parameter value

paRes*

string

Received PaRes value

The server will return either information about successful transaction or declined in response to correctly created request.

Refund

POST https://api.global-solutions.io/payments/refund

The method to return the funds of a successfully completed charge operation

Headers

Name
Type
Description

Authorization*

string

HTTP Basic authentication

Content-Type*

string

application/json

Request Body

Name
Type
Description

transactionId*

integer

Transaction ID of successfully completed charge transaction

amount

number

Refund amount. If the amount is not provided, the transaction is refunded in full of the initial charge amount. The transaction can be refunded partially as well.

Request example

Payout via token

POST https://api.global-solutions.io/payments/payout

The method to payout the funds to a Card by provided token

Headers

Name
Type
Description

Authorization*

string

HTTP Basic authentication

Content-Type*

string

application/json

Request Body

Name
Type
Description

token*

string

Token of the card. The token is received in response message after the successful Payment API method call.

amount*

number

Payout amount

accountId*

string

Payer's e-mail address.

currency*

string

Payout currency

invoiceId

string

Order or invoice number

Request example

Payout to card

POST https://api.global-solutions.io/payments/payout/card

Payout method when the funds are transferred to the provided credit card

Headers

Name
Type
Description

Authorization*

string

HTTP Basic authentication

Content-Type*

string

application/json

Request Body

Name
Type
Description

pan*

string

Card number

name*

string

Cardholder name

amount*

number

Payout amount

currency*

string

Payout currency

invoiceId

string

Order or invoice number

data

string

Payout recipient additional data

Request example

Status

POST https://api.global-solutions.io/payments/status

Returns the current status of the requested transaction.

Headers

Name
Type
Description

Authorization*

string

HTTP Basic authentication

Content-Type*

string

application/json

Request Body

Name
Type
Description

transactionId*

string

Transaction ID to check the status of

Request example

Status Invoice

POST https://api.global-solutions.io/payments/status/invoice

Returns the current status of the requested transaction.

Headers

Name
Type
Description

Authorization*

string

HTTP Basic authentication

Content-Type*

string

application/json

Request Body

Name
Type
Description

invoiceId*

string

Transaction Invoice ID to check the status of

Request example

List

POST https://api.global-solutions.io/payments/list

Returns the lists of all transactions for a day.

Headers

Name
Type
Description

Authorization*

string

HTTP Basic authentication

Content-Type*

string

application/json

Request Body

Name
Type
Description

date*

string

Date when transactions were created in 'YYYY-MM-DD' format.

timezone

string

Transactions date timezone. See Timezones dictionary for available timezones. If timezone is not specified, the transactions are returned based on UTC.

Request example

POST https://api.global-solutions.io/payments/link

The method is used to generate a payment link, where the user can be redirected to proceed with the payment. When the payment is requested, a payment link is generated and returned in the "link" field of the response.

Headers

Name
Type
Description

Authorization*

string

HTTP Basic authentication

Content-Type*

string

application/json

Request Body

Name
Type
Description

amount*

number

Payment amount

currency*

string

Payment currency

description*

string

Payment description in text format

invoiceId

string

Order or invoice number

accountId*

string

Payer's identifier

successUrl

string

The URL address the user gets redirected after successful payment operation

failureUrl

string

The URL address the user gets redirected after the payment transaction has failed

pendingUrl

string

The URL address the user gets redirected when the payment processing is pending

cancelUrl

string

The URL address the user gets redirected when the payment has been cancelled by the user

locale

string

Payment form language. English language is used by default when no locale specified

ip*

string

IP address of the payer.

data

object

Additional data required for the payment processing. See request example for available fields in the data object.

Request example

Balance

GET https://api.global-solutions.com/payments/balance

Returns the list of available accounts and balance. The balance is calculated taking into account the amount of successful payments, payouts, holds and fees.

Headers

Name
Type
Description

Authorization*

string

HTTP Basic authentication

Content-Type*

string

application/json

Response fields description

Parameter

Type

Description

currency

String

Balance currency

total

Number

Total funds amount on the balance

pending

Number

Funds that are reserved for ongoing transactions

hold

Number

Funds on hold

fee

Number

Acquiring and other fees

pendingFee

Number

Funds that are reserved for ongoing fees

available

Number

Funds available for operations

Alternative Payment Methods

Alternative Payments Methods (APM) include non-card transactions. Good examples of Alternative Payments Methods are banklinks, kiosks, e-wallets, etc. See the list of available APMs below.

Method

Type ID

Method

Country

Request example

APM Test Payment

1

Link

APM Test Payout

2

APM Payout

YooMoney (Yandex Money)

201

Link

Russia

WebMoney

501

Link

Russia

Banco Itau

1000

Link

Brazil

Santander Brasil

1001

Link

Brazil

Banco do Brasil

1002

Link

Brazil

Banrisul

1003

Link

Brazil

Bradesco Pague Facil

1004

Link

Brazil

Bradesco Pague Facil

1005

Link

Brazil

Caixa Econômica Federal

1006

Link

Brazil

Banco Itau Boleto

1007

Link

Brazil

UPI

2000

Link

India

Google Pay

2001

Link

India

JioMoney

2002

Link

India

Airtel Money Wallet

2003

Link

India

Reliance Jio Wallet

2004

Link

India

Freecharge Wallet

2005

Link

India

Phonepe Wallet

2006

Link

India

Amazon Wallet

2007

Link

India

Ola Money Wallet

2008

Link

India

Mobikwik Wallet

2009

Link

India

Bank Of Maharashtra

2010

Link

India

Central Bank Of India

2011

Link

India

Hdfc Bank

2012

Link

India

Canara Bank

2013

Link

India

Bank Of India

2014

Link

India

City Union Bank

2015

Link

India

Federal Bank

2016

Link

India

Icici Bank

2017

Link

India

Indian Bank

2018

Link

India

Indian Overseas Bank

2019

Link

India

Industrial Development Bank Of India

2020

Link

India

Indusind Bank

2021

Link

India

Jammu And Kashmir Bank

2022

Link

India

Karnataka Bank Ltd

2023

Link

India

Karur Vysya Bank

2024

Link

India

State Bank Of India

2025

Link

India

South Indian Bank

2026

Link

India

Kotak Bank

2027

Link

India

Union Bank Of India

2028

Link

India

Bank Of Baroda Retail Accounts

2029

Link

India

Yes Bank

2030

Link

India

Andhra Bank

2031

Link

India

Uco Bank

2032

Link

India

Catholic Syrian Bank

2033

Link

India

Allahabad Bank

2034

Link

India

Dhanalaxmi Bank Corporate

2035

Link

India

Laxmi Vilas Bank - Corporate Net Banking

2036

Link

India

Punjab National Bank

2037

Link

India

Standard Chartered Bank

2038

Link

India

Punjab And Sind Bank

2039

Link

India

Saraswat Cooperative Bank

2040

Link

India

VISA/MC/RuPay

2041

Link

Worldwide

Paytm, IN, Online

2042

Link

India

India Bank Selection

2060

Link

India

UPI QR

2080

Link

India

UPI Payouts

3020

APM Payout

India

Bank Transfer Payouts

3021

APM Payout

India

Vietnam Prosperity Joint-Stock Commercial Bank (QR Service)

7068

Link / APM Payout

Vietnam

Military Commercial Bank (QR Service)

7069

Link / APM Payout

Vietnam

Vietnam QR

22011

Link

Vietnam

CIMB Thai Bank Public Company Limited

7017

Link / APM Payout

Thailand

Standard Chartered Bank (Thai) PCL.

7022

Link / APM Payout

Thailand

Land and Houses Bank Public Company Limited

7023

Link / APM Payout

Thailand

TMBThanachart Bank

7089

APM Payout

Thailand

Bank Artha Graha (Support VA Wallet Only)

7028

Link / APM Payout

Indonesia

Bank Bukopin (Support VA Wallet Only)

7029

Link / APM Payout

Indonesia

Bank Commonwealth (Support VA Wallet Only)

7030

Link / APM Payout

Indonesia

Bank Danamon (Support VA Wallet Only)

7031

Link / APM Payout

Indonesia

Bank Mega (Support VA Wallet Only)

7032

Link / APM Payout

Indonesia

Bank Maspion (Support VA Wallet Only)

7033

Link / APM Payout

Indonesia

Bank Mestika (Support VA Wallet Only)

7034

Link / APM Payout

Indonesia

Bank Panin (Support VA Wallet Only)

7035

Link / APM Payout

Indonesia

Bank Sumut (Support VA Wallet Only)

7036

Link / APM Payout

Indonesia

Bank Sinar Mas (Support VA Wallet Only)

7037

Link / APM Payout

Indonesia

Bank Btpn (Support VA Wallet Only)

7038

Link / APM Payout

Indonesia

CIMB Niaga (Support VA Wallet Only)

7039

Link / APM Payout

Indonesia

HSBC Indonesia (Support VA Wallet Only)

7040

Link / APM Payout

Indonesia

Maybank /bii (Support VA Wallet Only)

7041

Link / APM Payout

Indonesia

OCBC Indonesia (Support VA Wallet Only)

7042

Link / APM Payout

Indonesia

Bank Permata (Support VA Wallet Only)

7043

Link / APM Payout

Indonesia

UOB Indonesia (Support VA Wallet Only)

7044

Link / APM Payout

Indonesia

Boleto

4011

Link

Brazil

Direct PIX

4012

Link

Brazil

Boleto Flash Itau

4013

Link

Brazil

SEPA Credit Transfer

6000

APM Payout

EU

SEPA Transfer

6001

Link

EU

BTC, Bitcoin

10100

Link

Worldwide

APM Payments can be requested using the Link API. When the Link API is requested, the corresponding APM Type ID must be supplied in the paymentTypeId field of the data object.

APM Payout request example for certain methods. (1)

APM Payout request example for certain methods. (2)

APM Payout

POST https://api.global-solutions.io/payments/apm/payout

APM Payout include non-card transaction payouts. Goods examples of APM Payouts are payouts to e-wallets or bank accounts.

Headers

Name
Type
Description

Authorization

string

HTTP Basic Authentication

Content-Type

string

application/json

Request Body

Name
Type
Description

amount

number

Payout amount

accountId

string

Funds recipient e-mail address

currency

string

Payout currency

description

string

Payout description in text format

invoiceId

string

Order or invoice number

name

string

Funds recipient name

data

object

Additional data required for the payout processing. See request example for available fields in the data object

APM Payout example for APM Test Payout (2)

APM Payout Testing credentials for APM Test Payout (2)

personId
Result

success@bank

Successful payout test credentials

failure@bank

Failed payout test credentials

APM Payout example for UPI (3020)

APM Payout example to India bank account (3021)

APM Payout request example for SEPA Credit Transfer (6000)

APM Payout is asynchronous operation. After the payout is requested, the request is created and sent to the processing system. The payout execution time depends on the processing system. When the payout is processed, the final status of the payout will be sent as a Notification.

APM Refund

POST https://api.odeonpay.com/payments/apm/refund

The method to return the funds of successfully completed payment operation

Headers

Name
Type
Description

Authorization

string

HTTP Basic Authentication

Content-Type

string

application/json

Request Body

Name
Type
Description

transactionId

integer

Transaction ID of successfully completed payment transaction

amount

number

Refund amount

Request example of the refund

APM Refund is asynchronous operations. After the refund is requested, the request is created and sent to the processing system. The refund execution time depends on the processing system. When the refund is processed, the final status of the refund will be sent as a Notification.

Notifications

Notification is an HTTP request from the system to your site. Similar requests are also called callback or webhook. The system provides notifications about successful and unsuccessful payments.

Enabling and disabling notifications as well as setting addresses and notification formats is configured in Back Office.

Payment Success

The Success notification is performed once a payment is successfully completed. It serves the purpose of information about a payment: the system sends a request to a merchant's website address with payment information, and the merchant's site has to register the fact of payment.

Parameter

Type

Usage

Description

transactionId

Integer

Required

Transaction number in the system

amount

Number

Required

Amount

currency

String

Required

Currency

dateTime

String

Required

Date and time

invoiceId

String

Optional

Invoice or order number

accountId

String

Optional

Payer's identifier

operationTypeCode

Integer

Required

Transaction operation code

operationType

String

Required

Transaction operation ("Payment")

status

String

Required

Transaction status ("Completed")

statusCode

Integer

Required

Transaction status code

cardFirstSix

String

Required

Transaction Card PAN first 6 numbers

cardLastFour

String

Required

Transaction Card PAN last 4 numbers

cardType

String

Required

Card type (VISA, Mastercard, Amex)

cardExpDate

String

Required

Card expiry date in MM/YYYY format

name

String

Optional

Cardholder's name

token

String

Optional

Payment card's token. Returned only if accountId

was provided during the payment

Payment Failure

In the event of a payment failure, the merchant is able to receive a notification with transaction details and failure explanation.

Parameter

Type

Usage

Description

transactionId

Integer

Required

Transaction number in the system

amount

Number

Required

Amount

currency

String

Required

Currency

dateTime

String

Required

Date and time

invoiceId

String

Optional

Invoice or order number

accountId

String

Optional

Payer's identifier

operationTypeCode

Integer

Required

Transaction operation code

operationType

String

Required

Transaction operation ("Payment")

status

String

Required

Transaction status ("Declined")

statusCode

Integer

Required

Transaction status code

cardFirstSix

String

Required

Transaction Card PAN first 6 numbers

cardLastFour

String

Required

Transaction Card PAN last 4 numbers

cardType

String

Required

Card type (VISA, Mastercard, Amex)

cardExpDate

String

Required

Card expiry date in MM/YYYY format

name

String

Optional

Cardholder's name

reason

String

Required

Transaction failure reason

reasonCode

Integer

Required

Transaction failure reason code

Refund Success

The Refund Success notification is performed if a payment was refunded (fully or partially) on your initiative via the API or Back Office.

Parameter

Type

Usage

Description

paymentTransactionId

Integer

Required

Transaction number of the initial payment in the system

transactionId

Integer

Required

Refund transaction number in the system

amount

Number

Required

Refund amount

currency

String

Required

Currency

dateTime

String

Required

Date and time

invoiceId

String

Optional

Invoice or order number

accountId

String

Optional

Payer's identifier

operationTypeCode

Integer

Required

Transaction operation code

operationType

String

Required

Transaction operation ("Refund")

status

String

Required

Transaction status ("RefundCompleted")

statusCode

Integer

Required

Transaction status code

Refund Failure

The Refund Failure notification is performed if a payment refund request (full or partial) has failed.

Parameter

Type

Usage

Description

paymentTransactionId

Integer

Required

Transaction number of the initial payment in the system

transactionId

Integer

Required

Refund transaction number in the system

amount

Number

Required

Refund amount

currency

String

Required

Currency

dateTime

String

Required

Date and time

invoiceId

String

Optional

Invoice or order number

accountId

String

Optional

Payer's identifier

operationTypeCode

Integer

Required

Transaction Operation Code

operationType

String

Required

Transaction operation ("Refund")

status

String

Required

Transaction status ("Declined")

statusCode

Integer

Required

Transaction status code

reason

String

Required

Transaction failure reason

reasonCode

Integer

Required

Transaction failure reason code

Payout Success

The Payout Success notification is performed if funds were paid out on your initiative via the API or Back Office.

Parameter

Type

Usage

Description

transactionId

Integer

Required

Payout transaction number in the system

amount

Number

Required

Payout amount

currency

String

Required

Currency

accountId

String

Required

Payer's identifier

invoiceId

String

Optional

Invoice or order number

dateTime

String

Required

Date and time

operationTypeCode

Integer

Required

Transaction operation code

operationType

String

Required

Transaction operation ("CardPayout")

status

String

Required

Transaction status ("PayoutCompleted")

statusCode

Integer

Required

Transaction status code

Payout Failure

The Payout Failure notification is performed if funds payout request has failed.

Parameter

Type

Usage

Description

transactionId

Integer

Required

Payout transaction number in the system

amount

Number

Required

Payout amount

currency

String

Required

Currency

accountId

String

Required

Payer's identifier

invoiceId

String

Optional

Invoice or order number

dateTime

String

Required

Date and time

operationTypeCode

Integer

Required

Transaction operation code

operationType

String

Required

Transaction operation ("CardPayout")

status

String

Required

Transaction status ("Declined")

statusCode

Integer

Required

Transaction status code

reason

String

Required

Transaction failure reason

reasonCode

Integer

Required

Transaction failure reason code

Payment Check

The Payment Check notification is performed once a cardholder filled in a payment form and pressed the “Pay” button. It serves the purpose of payment validation: the system sends a request to a merchant's website address with payment information, and the website must validate and reply back if the payment has to be confirmed or rejected.

Parameter

Type

Usage

Description

transactionId

Integer

Required

Payment transaction number in the system

amount

Number

Required

Payment amount

currency

String

Required

Payment currency

dateTime

String

Required

Date and time

invoiceId

String

Required

Invoice or order number

accountId

String

Required

Payer's identifier

name

String

Required

Cardholder's name

operationTypeCode

Integer

Required

Transaction operation code

operationType

String

Required

Transaction operation ("Payment")

cardFirstSix

String

Required

Transaction Card PAN first 6 numbers

cardLastFour

String

Required

Transaction Card PAN last 4 numbers

cardType

String

Required

Card type (VISA, Mastercard, Amex)

cardExpDate

String

Required

Card expiry date in MM/YYYY format

status

String

Required

Transaction status ("Created")

statusCode

Integer

Required

Transaction status code

Payment Check notifications expects HTTP status 200 with response in JSON format with the required parameter code:

Response codes

Payment Check notification expects the code value "0" in order to proceed with the payment. Any other numeric value received with the response will reject the payment processing.

Notification confirmation

Parameter

Type

Description

code

Integer

Notification confirmation code

Notification confirmation example

In case the System didn't receive the mentioned success code, notification sending will be repeated 5 times.

Notification validation

All the notifications have the Content-HMAC HTTP header which contains a validation value of a request which is calculated using the HMAC algorithm. If you need to verify authenticity and integrity of notifications, you can calculate a validation value on your side and compare it with the request value. The coincidence confirms that you received the notification we sent in the original form.

  • For notifications sent by POST method the message is represented by a request body.

  • Hash is calculated by SHA256 function;

  • The secret API is used as a key, which can be obtained in your Back Office;

  • The calculated value is passed in base64 encoding.

HMAC value calculation and encoding example

Output result:

The system sends notifications from the following address 34.77.206.110.

Testing

Once you have an access to Back Office, it is in a test mode already which means that payments and other operations will take place in emulation mode. After you create a site in Back Office, it is automatically assigned a test mode.

Cards for Payment Operation tests

Card

Expiry

CVV

3-D Secure

Schema

Result

4111111111111111

12/24

123

Yes

Advanced

Success

4111111111111111

12/24

333

Yes

Advanced

Failure

4200000000000000

12/24

123

Yes

Redirect

Success

4200000000000000

12/24

333

Yes

Redirect

Failure

4242424242424242

12/24

123

No

None

Success

4242424242424242

12/24

333

No

None

Failure

Type in "4" as the 3-D Secure passphrase

Cards for Refund Operation tests

Card

Result

Description

4242424242424242

RefundCompleted

Successful refund (full or partial)

4111111111111111

Declined

All refund requests to this card will be declined by the system

4200000000000000

Created

Refund request will be created, but not processed further until the result is received from the acquiring bank

Cards for Card Payout Operation tests

Card

Result

Description

4242424242424242

PayoutCompleted

Successful payout to a card

4111111111111111

Declined

All payout requests to this card will be declined by the system

4200000000000000

Created

Payout request will be created, but not processed further until the result is received from the acquiring bank

Dictionaries

Transaction Status

ID

Status

Description

1

AwaitingAuthentication

Waiting for 3-D Secure authentication

4

Completed

Payment transaction successful completion

5

RefundCompleted

Refund transaction successful completion

7

PayoutCompleted

Payout transaction successful completion

10

Created

Transaction has been created

99

Declined

Transaction processing failure

Transaction Operations

ID

Operation

Description

1

Payment

Transaction operation when funds are charged from the credit card

2

Refund

Operation when funds are returned back to a credit card after the initial Payment operation

3

CardPayout

Operation when the funds are paid out to a credit card

Timezones

Timezone

Description

Pacific/Samoa

GMT-11:00

US/Hawaii

GMT-10:00

US/Alaska

GMT-09:00

America/Los_Angeles

GMT-08:00

US/Arizona

GMT-07:00

America/Mexico_City

GMT-06:00

US/East-Indiana

GMT-05:00

Atlantic/Bermuda

GMT-04:00

America/Santiago

GMT-03:00

America/Noronha

GMT-02:00

Atlantic/Azores

GMT-01:00

Europe/London

GMT+00:00

Europe/Paris

GMT+01:00

Europe/Riga

GMT+02:00

Europe/Kyiv

GMT+03:00

Asia/Tbilisi

GMT+04:00

Asia/Tashkent

GMT+05:00

Asia/Colombo

GMT+06:00

Asia/Bangkok

GMT+07:00

Asia/Shanghai

GMT+08:00

Asia/Tokyo

GMT+09:00

Australia/Sydney

GMT+10:00

Pacific/Guadalcanal

GMT+11:00

Last updated