Skip to main content

Objects

PaymentSession

A container with data about all the operations performed within a single payment session.

Payment operations can only be performed within a session. One or more operations of the same or different types can be performed within the session (e.g., several payouts, a payment and a refund, or a payment which is subsequently split).

NameMandatoryTypeDescription
id+stringSession identifier
status+stringStatus. Options: created, in_progress, accepted, cancelled, error
created_at+stringCreation date in ISO 8601 format
updated_at+stringUpdate date in ISO 8601 format
payments-array<Payment>A list of payouts performed within the session
acquiring_payments-array<AcquiringPayment>A list of payments performed within the session
next_action-stringA label indicating actions needed to perform the transaction successfully. Options: confirm, capture
error-ErrorError description

Payment session statuses (status)

  • created — the session has been created and is waiting to be started or canceled
  • in_progress — the payment is being processed
  • accepted — the payment has been completed successfully
  • cancelled — the payment has been canceled
  • error — an unexpected error occurred while processing

    Attention! This status is not final. Please contact Smart Glocal's support team and wait for a final transaction status.

Next steps (next_action)

If this field is not empty, it means that Smart Glocal is waiting for you to perform specific actions to proceed with the operation:

Payment

An object containing all the payout details.

NameMandatoryTypeDescription
id+stringPayout identifier
status+stringStatus. Options: succeeded, in_progress, pending, failed
created_at+stringCreation date in ISO 8601 format
finished_at-stringCompletion date in ISO 8601 format
customer-CustomerRecipient's data in your system, E.g. the login that lets you verify the recipient on your side.
payment_method+PaymentMethodMethod of receiving the payout
amount_details+AmountDetailsAmount
participant_details-ParticipantDetailsDetails of payout participants required to perform the payout, E.g. the names and addresses of the payer and the recipient.
refunds-array<Refund>Refund list
metadata-objectAdditional information. Any data you need in order to perform the operation. Returned in responses and webhooks. May contain string, integer, or JSON object data
error-ErrorError description

Payout statuses (status)

  • in_progress — the payout is being processed
  • pending — awaiting your confirmation (session/confirm) or cancelation (session/cancel)
  • succeeded — the payout has been completed successfully
  • failed — the payout has failed

AcquiringPayment

An object containing all the payment details.

NameMandatoryTypeDescription
id+stringUnique payment identifier
status+stringPayment status. Options: succeeded, in_progress, pending, failed
created_at+stringCreation date in ISO 8601 format
finished_at-stringCompletion date in ISO 8601 format
customer-CustomerUser (payer) details
payment_details+PaymentDetailsPayment data
amount_details+AmountDetailsAmount
recurrent-RecurrentTokenInfoDetails needed to perform recurring payments
participant_details-ParticipantDetailsParticipant details
refunds-array<Refund>Refund list
customer_interaction-CustomerData needed for user interaction
metadata-objectAdditional information. Any data you need in order to perform the operation. Returned in responses and webhooks. May contain string, integer, or JSON object data
error-ErrorError description

Payment statuses (status)

  • in_progress — the payment is being processed
  • pending — awaiting your confirmation (session/confirm) or cancelation (session/cancel)
  • succeeded — the payment has been completed successfully
  • failed — the payment has failed

Refund

An object containing details on a refund.

NameMandatoryTypeDescription
id+stringUnique refund identifier
status+stringRefund status. Options: in_progress, accepted, declined, error
amount_details+AmountDetailsRefund amount details
created_at+stringCreation date
finished_at-stringCompletion date
is_chargeback-boolWhether the refund is made within a chargeback
metadata-objectAdditional information

Refund statuses (status)

  • in_progress — the refund is being processed
  • accepted — the refund has been completed successfully
  • declined — Smart Glocal has declined the refund
  • error — the refund has failed

PaymentMethod

An object containing the description of the method for receiving a payout.

NameMandatoryTypeDescription
type+stringType of the method for receiving the payout. Options: card, bank_account, wallet, recurrent
card-CardPaymentMethodRecipient's bank card
bank_account-BankAccountPaymentMethodaymentmethodRecipient's bank account
wallet-WalletPaymentMethodRecipient's wallet details
recurrent-RecurrentTokenA payout with a recurrent token

PaymentDetails

An object containing the description of the method for performing a payment.

NameMandatoryTypeDescription
type+stringPayment method type. Options: card, recurrent
card-CardPaymentMethodBank card details
recurrent-RecurrentTokenInfoDetails for repeating a payment using a token

PaymentOptions

Parameters needed to perform a payment.

NameMandatoryTypeDescription
return_url-stringURL to which the user is redirected after the payment is performed
recurrent-boolWhether the payment is to be performed using a saved token
description-stringAny additional information to be displayed to the user during 3DS verification (if the field is supported by the payment provider)

BankAccountPaymentMethod

An object containing the payout recipient's account description.

NameMandatoryTypeDescription
type+stringBank payment system. Options: global, ru
global-BankAccountGlobalRecipient's bank account details
ru-BankAccountRuRecipient's bank account details

BankAccountGlobal

An object containing bank account details (region: global).

NameMandatoryTypeDescription
account_number-stringAccount number
bank_account_number-stringBank account number
account_type-stringAccount type
routing_code-stringRouting code
swift_bic_code-stringSWIFT BIC code
sort_code-stringSort code
msisdn-stringPhone number
iban-stringIBAN
description-stringPurpose of remittance for the payout
bsb_number-stringBSB number
ifs_code-stringIFS code
branch_number-stringBranch number

To learn which parameters are mandatory, check the information on a particular country.

BankAccountRU

An object containing bank account details (region: ru).

NameMandatoryTypeDescription
bik+stringRecipient’s Bank Identification Code
account+stringRecipient's bank account
full_name+stringIndividual's full name. In case of a payout to an account of a sole proprietor should be passed in the following format: ИП <full name>. In case of a payout to a legal entity, enter the entity's name, if it is provided in the agreement. Important: if the name is passed incorrectly the recipient bank may cancel the payout and the payout will be refunded
description+stringPayout purpose
inn- (mandatory for payouts to the accounts of legal entities and individual proprietors)stringRecipient's INN, 10 digits for legal entities, 12 digits for individuals, including individual proprietors
kpp- (mandatory for payouts to the accounts of legal entities)stringRecipient's Tax Registration Reason Code (KPP)

CardPaymentMethod

An object containing a payout recipient's bank card details.

NameMandatoryTypeDescription
type+stringCard details transmission type. Options: bank_card, encrypted_card
bank_card-BankCardUnencrypted card
encrypted_card-EncryptedCardCard with encrypted fields (tokenized)
brand-stringCard information. Returned in notifications, needed for user display
last4-stringCard information. Returned in notifications, needed for user display

BankCard

Unencrypted card object (can be used if you have PCI DSS).

NameMandatoryTypeDescription
number+stringCard number
expiration_month- (Mandatory for payments if available)stringMonth
expiration_year- (Mandatory for payments if available)stringYear
security_code- (Mandatory for payments if available)stringCVC (security code)
cardholder_name-stringCardholder's name

EncryptedCard

Card with encrypted fields (tokenized). Transmitted during payouts or payments through the widget.

NameMandatoryTypeDescription
number_hash+stringCard number hash
expiration_date_hash-stringExpiration date hash
security_code_hash-stringCVC code hash
cardholder_name_hash-stringCardholder's name hash

WalletPaymentMethod

An object with the recipient's wallet details.

NameMandatoryTypeDescription
type+stringOptions: global
global+WalletGlobalWallet details

WalletGlobal

An object with wallet details.

NameMandatoryTypeDescription
name+stringWallet name
msisdn+stringPhone number
description+stringPurpose of remittance for the payout

WalletDetails

An object with details on the wallet balance used to make payouts.

NameMandatoryTypeDescription
id+stringBalance identifier
amount_details+AmountDetailsCurrent balance

PublicToken

An object with information about a public token.

NameMandatoryTypeDescription
token+stringToken

RecurrentToken

An object with information on a recurrent token.

NameMandatoryTypeDescription
token+stringToken

CardTokenInfo

An object with details of a tokenized bank card.

NameMandatoryTypeDescription
number_hash+stringToken (tokenized bank card)
brand+stringPayment system, i.e. visa
last4+stringLast 4 card numbers
country_iso3-stringCountry of the card's bank

PublicTokenInfo

An object with information on a public token.

NameMandatoryTypeDescription
token+stringToken
created_at+stringCreation date in ISO 8601 format
finished_at+stringCompletion date in ISO 8601 format
is_active+boolWhether the token can be used for an operation: true — yes, false — no

RecurrentTokenInfo

An object with information on a recurrent token.

NameMandatoryTypeDescription
token+stringToken
created_at+stringCreation date in ISO 8601 format
finished_at+stringCompletion date in ISO 8601 format
is_active+boolWhether the token can be used for an operation: true — yes, false — no
initiator-stringRecurrent payment type. Options: merchant - a MIT payment (by default), client - a CIT payment

AmountDetails

An amount object.

NameMandatoryTypeDescription
amount+intAmount in minor currency units (USD decimal format), i.e. if the value is 10000, the amount is 100 USD
currency+stringISO 4217 currency code. Case insensitive

Customer

Data on the user (payout recipient or payment sender) in your system (e.g., the login that lets you identify the user). It also includes their contact details.

NameMandatoryTypeDescription
reference+stringUser's identifier (payout recipient or payment sender) in your system
contacts-array<CustomerContact>User contacts

CustomerContact

Contacts of the user (payout recipient or payment sender).

NameMandatoryTypeDescription
e-mail-stringUser's email
phone-stringUser's phone number

CustomerInteraction

An object describing customer interaction.

NameMandatoryTypeDescription
type+stringCustomer interaction type. Options: redirect, inform
redirect-CustomerInteractionRedirectUser redirect data object
inform-CustomerInteractionInformPayment method information

CustomerInteractionRedirect

An object with user redirect data.

NameMandatoryTypeDescription
url+stringRedirect address including GET parameters
base_url+stringRedirect address
method+stringSubmission method. Options: POST, GET
qs-map\<string,string>A set of parameters depending on the transaction method
params-map\<string,*>A set of parameters depending on the transaction method
  • Check if any parameters are specified in the qs and params objects.
  • Redirect the user to the redirect address specified in base_url using the method from the method parameter and including all the required parameters in the URL or request body.

CustomerInteractionInform

An object with payment method details.

NameMandatoryTypeDescription
qr-InformQRQR code for FPS payments

InformQR

QR code for FPS payments.

NameMandatoryTypeDescription
content+stringQR code link
img+stringQR code image

ParticipantDetails

Payout participant details.

NameMandatoryTypeDescription
sender-ParticipantSender details
recipient-ParticipantRecipient details

Participant

Payout participant (payer and/or recipient) details. Which details are necessary depends on the method of receiving the payout.

NameMandatoryTypeDescription
full_name-stringFull name
first_name-stringFirst name
last_name-stringLast name
middle_name-stringPatronymic
company_name-stringCompany name
reference-stringRecipient identifier in your system
tax_reference-stringTaxpayer identifier
address_line-stringAddress
ipv4-stringIP version 4 address
ipv6-stringIP version 6 address
country_iso3-stringCountry (ISO-3166-1 alpha-3)
country_iso2-stringCountry (ISO-3166-1 alpha-2)
city-stringCity
state-stringState
postal_code-stringPostal address
identity_document-IdentityDocumentIdentity details
bank_name-stringBank name
currency-stringCurrency (ISO 4217)
registration_number-stringCompany registration number
code-stringCompany registration number
date_of_incorporation-stringCompany incorporation date
id_number-stringIdentification number
msisdn-stringMobile wallet address
email-stringEmail address

IdentityDocument

Identity details.

NameMandatoryTypeDescription
id_type-stringIdentity type
id_number+stringIdentity number
id_expiration_date-stringIdentity expiration date

TokenizeWidgetMetadata

An object containing settings for the tokenization widget.

NameMandatoryTypeDescription
access+boolIdentifies whether this public key can use the tokenization widget
locale-stringLocalization parameter. Options: en, ru. Default value: en

AcquiringWidgetMetadata

An object containing settings for the payout form widget (for performing bank card payments).

NameMandatoryTypeDescription
session_id+stringPayment session identifier
locale-stringLocalization parameter. Options: en, ru. Default value: en
show_recurrent_checkbox-boolWhether to display the I agree to recurrent payments checkbox in the widget interface
success_return_url-stringURL to which the user is redirected after the payment is successfully completed
failure_return_url-stringURL to which the user is redirected if an error occurs during the payment
success_on_hold-boolWhether to show the message about a successful payment to a payer when holding. The default value is false and the widget shows a loading screen until the end of the hold

Error

An object with error details.

NameMandatoryTypeDescription
code+stringError code
description+stringError description

Error codes