Alt Payments [PayPal, Sofort, iDeal, Boleto, PaySMS etc.]

SolidGate is a unique gateway for online payments. Both means of payment are available: cards and alternative payment methods such as bank transfers, USSD, Boleto etc.

Simple integration gets an opportunity to start working at once.

SolidGate integration steps

In order to start, you need the following:

- Merchant ID

- Secret Key for signing requests

The parameters are sent by POST method in the request body. The JSON format is applicable.

API Endpoint URL - https://gate.solidgate.com/api/v1/

SolidGate authorization

The authorisation is required for transmitting requests to SolidGate. It can be performed by signing each client's request to API. Merchant ID and its secret key shall be applied in order to calculate the signature.

Headers of each request are to be placed in the following additional fields:

ParameterDescriptionExample
MerchantUnique merchant ID. It is shared at the moment of registrationTest_Merchant
SignatureSignature of request. It allows you to verify whether the request from the merchant is genuine on the payment gateway serverMjNiYjVj…ZhYmMxMzNiZDY=

Signature creation

Value of a signature is base64-coding of hash function SHA-512. As for encryption key, merchant's secret key shall be applied.

As for signature data, the following string shall be used:

merchantId + requestJsonData + merchantId

where

  • merchantId - unique merchant identification,
  • requestJsonData - request body (JSON string).


 

Example of signature creation in PHP-language

/**
* @param string $data
* @return string
*/
private function generateSignature($data)
{
   return base64_encode(
       hash_hmac('sha512',
           $this->getMerchantId() . $data . $this->getMerchantId(),
           $this->getPrivateKey())
   );
}
  • data - request body (JSON string)
  • merchantId - unique merchant identification
  • privateKey - secret code for request signature. It's provided at the moment of merchant registration.

SolidGate methods

  • Init Payment - operation of order initiating. This performs order creation and transaction is ready for payment.
  • Status - request for receiving current order status.
  • Refund - request for transferring funds back. Refunds are available for successfully paid orders. Only one refund can be effected per order.
  • Invoice - request to create order and generate Invoice number.

SolidGate Init-Payment

Operation of order initiating. It shall be used while working with a payment form.

This operation deems to create order in the system and return token being applied while calling payment form.

POST https://gate.solidgate.com/api/v1/init-payment

Request parameters
 

ParameterMandatoryTypeDescriptionValue sample
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents1020
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217USD
payment_methodNoStringPayment method ( "przelewy24", "trustly", "bancontact", "giropay", "paysafecard", "sepa", "sofort", "ideal", "paypal", "yandex_money", "dcb", "paysms", "alipay")paypal
payment_type_dataNoObjectObject with payment type data 
payment_type_data:phoneNoStringThe phone number for Mobile Carrier Billing (paysms) 
payment_type_data:cpfNoStringCPF - individual taxpayer registry identification, a number attributed by the Brazilian Federal Revenue. Mandatory for method boleto42243309114
customer_account_idNoStringCustomer ID in the merchant's system. In case of successful payment, card data will be tied to this ID4dad42f808
customer_date_of_birthNoStringCustomer birth date in format YYYY-MM-DD2000-11-21
customer_emailYesStringCustomer emailjondou@gmail.com
customer_first_nameNoStringCustomer's first nameJohn
customer_last_nameNoStringCustomer last nameSnow
customer_phoneNo/YesStringCustomer telephone  (Mandatory for locations: UGA, KEN, TZA, GHA)380111111111
geo_countryNo/YesString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. (Mandatory for method PayPal)GBR
geo_cityNoStringCustomer cityNew Castle
ip_addressYesStringCustomer IP (only public ones)8.8.8.8
languageNoString(2)Customer language settings. Available values: RU - Russian, EN - Englishen
order_idYesStringOrder ID specified in merchant system123443334
order_dateNoStringDate of order creation in format YYYY-MM-DD-HH-MM-SS2015-12-21 11:21:30
order_descriptionYesStringOrder description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
callback_urlNoStringURL of merchant page, where response with payment result will be senthttp://merchant.example/callback
return_urlYesStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlYesStringURL of merchant page, to which a customer will be redirected after success paymenthttp://merchant.example/success
fail_urlYesStringURL of merchant page, to which a customer will be redirected after unsuccess paymenthttp://merchant.example/fail

Request sample


{
  "amount": 2575,
  "payment_method": "paypal",
  "callback_url": "http://merchant.example/callback",
  "currency": "USD",
  "customer_account_id": "user_id",
  "customer_date_of_birth": "2000-11-21",
  "customer_email": "example.user@example-email.com",
  "customer_first_name": "John",
  "customer_last_name": "Snow",
  "customer_phone": "380000000000",
  "geo_city": "New Castle",
  "geo_country": "GBR",
  "ip_address": "8.8.8.8",
  "language": "en",
  "order_date": "2015-12-21 11:21:30",
  "order_description": "Premium package",
  "order_id": "777",
  "platform": "WEB"
}

Parameters of the successful response

ParameterTypeDescriptionValue sample
orderObjectObject with information of the order 
order: order_idStringOrder ID specified in merchant system777
order: amountIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents.2575
order: currencyStringOrder currency (3 letter code under ISO 4217)USD
order: statusStringOrder statuscreated
pay_formObjectObject with data payment form data 
pay_form: tokenStringPayment form token5849cf0468afc0ac4be4963c619b776eee75271d56e3c6621ab21
pay_form: return_url StringURL of merchant page, to which a customer will be redirected to complete a paymenthttps://www.paypal.com/ca/cgi-bin/merchantpaymentweb?cmd=_express-checkout&token=EC-1LX20314LJ600731B
payment_type_dataObject  
payment_type_data:idStringTicket id109/18369953-0
payment_type_data:numberStringTicket number34191091803699530044354689940002780050000015476
payment_type_data:expiration_dateStringTicket expiration date2019-09-08T02:59:00+0000
payment_type_data:barcodeStringTicket barcode34197800500000154761091836995300445468994000

Parameters of the successful response

{
 "order": {
 "amount": 5000,
 "currency": "USD",
  "order_id": "1504269591134TEST",
  "status": "created"
  },
 "pay_form": {
 "token": "6de603708b5b4c33a681dc1e47b20ad3"
 "return_url": "https://www.paypal.com/ca/cgi-bin/merchantpaymentweb?cmd=_express-checkout&token=EC-1LX20314LJ601741A"
  }
}

Example of response with information about an error

ParameterTypeDescriptionExample
errorObjectObject with information on error 
error:codeStringError codes list2.01
error: messagesObjectError messages 
error: messages:attribute_nameStringAttribute name where an error was foundcurrency
error: messages:error_messageArrayThe array of error messages relating to the respective attributeThis value should not be blank.

Failure Response Sample

{
  "error": {
    "code": "2.01",
    "messages": {
      "currency": [
        "Invalid Currency."
      ]
    }
  }
}

SolidGate Init-Payment PayPal

Operation of order initiating. It shall be used while working with a payment widget. 

This operation deems to create order in the system and return token being applied while calling payment widget.

POST https://gate.solidgate.com/api/v1/init-payment

Request parameters

ParameterMandatoryTypeDescriptionValue sample
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents.1020
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217USD
payment_methodNoStringPayment method ( "przelewy24", "trustly", "bancontact", "giropay", "paysafecard", "sepa", "sofort", "ideal", "paypal", "yandex_money", "dcb", "paysms", "alipay")paypal
payment_type_dataNoObjectObject with payment type data 
payment_type_data:phoneNoStringThe phone number for Mobile Carrier Billing (paysms) 
payment_type_data:cpfNoStringCPF - individual taxpayer registry identification, a number attributed by the Brazilian Federal Revenue. Mandatory for boleto payment method42243309114
customer_account_idNoStringCustomer ID in the merchant's system. In case of successful payment, card data will be tied to this ID.4dad42f808
customer_date_of_birthNoStringCustomer birth date in format YYYY-MM-DD2000-11-21
customer_emailYesStringCustomer emailjondou@gmail.com
customer_first_nameNoStringCustomer's first nameJohn
customer_last_nameNoStringCustomer last nameSnow
customer_phoneNo/YesStringCustomer telephone (Mandatory for locations: UGA, KEN, TZA, GHA)380111111111
geo_countryNo/YesString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. (Mandatory for method PayPal)GBR
geo_cityNoStringCustomer cityNew Castle
ip_addressYesStringCustomer IP (only public ones)8.8.8.8
languageNoString(2)Customer language settings. Available values: RU - Russian, EN - Englishen
order_idYesStringOrder ID specified in merchant system123443334
order_dateNoStringDate of order creation in format YYYY-MM-DD-HH-MM-SS2015-12-21 11:21:30
order_descriptionYesStringOrder description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - application.WEB
callback_urlNoStringURL of merchant page, where response with payment result will be senthttp://merchant.example/callback
return_urlYesStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlYesStringURL of merchant page, to which a customer will be redirected after success paymenthttp://merchant.example/success
fail_urlYesStringURL of merchant page, to which a customer will be redirected after unsuccess paymenthttp://merchant.example/fail

Request sample

{
  "amount": 2575,
  "payment_method": "paypal",
  "callback_url": "http://merchant.example/callback",
  "currency": "USD",
  "customer_account_id": "user_id",
  "customer_date_of_birth": "2000-11-21",
  "customer_email": "example.user@example-email.com",
  "customer_first_name": "John",
  "customer_last_name": "Snow",
  "customer_phone": "380000000000",
  "geo_city": "New Castle",
  "geo_country": "GBR",
  "ip_address": "8.8.8.8",
  "language": "en",
  "order_date": "2015-12-21 11:21:30",
  "order_description": "Premium package",
  "order_id": "777",
  "platform": "WEB"
}

Parameters of the successful response

ParameterTypeDescriptionValue sample
orderObjectObject with information of the order 
order: order_idStringOrder ID specified in merchant system777
order: amountIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575
order: currencyStringOrder currency (3 letter code under ISO 4217)USD
order: statusStringOrder statuscreated
pay_formObjectObject with data payment form data 
pay_form: tokenStringPayment form token5849cf0468afc0ac4be4963c619b776eee75271d56e3c6621ab21
pay_form: return_urlStringURL of merchant page, to which a customer will be redirected to complete a paymenthttps://www.paypal.com/ca/example-url
payment_type_dataObject  
payment_type_data:idStringTicket id109/18369953-0
payment_type_data:numberStringTicket number34191091803699530044354689940002780050000015476
payment_type_data:expiration_dateStringTicket expiration date2019-09-08T02:59:00+0000
payment_type_data:barcodeStringTicket barcode34197800500000154761091836995300445468994000

Parameters of the successful response

{
 "order": {
 "amount": 5000,
 "currency": "USD",
  "order_id": "1504269591134TEST",
  "status": "created"
  },
 "pay_form": {
 "token": "6de603708b5b4c33a681dc1e47b20ad3"
 "return_url": "https://www.paypal.com/ca/cgi-bin/merchantpaymentweb?cmd=_express-checkout&token=EC-1LX20314LJ601741A"
  } 
}

Example of response with information about an error

ParameterTypeDescriptionExample
errorObjectObject with information on error 
error:codeStringError codes list2.01
error: messagesObjectError messages 
error: messages:attribute_nameStringAttribute name where an error was foundcurrency
error: messages:error_messageArrayThe array of error messages relating to the respective attributeThis value should not be blank.

Response sample with information about the error

{
  "error": {
    "code": "2.01",
    "messages": {
      "currency": [
        "Invalid Currency."
      ]
    }
  }
}

SolidGate Init-Payment AliPay

Operation of order initiating. It shall be used while working with a payment widget. 

This operation deems to create order in the system and return token being applied while calling a payment widget.

POST https://gate.solidgate.com/api/v1/init-payment

Request parameters

ParameterMandatoryTypeDescriptionValue sample
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents1020
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217USD
payment_methodNoStringPayment method ( "przelewy24", "trustly", "bancontact", "giropay", "paysafecard", "sepa", "sofort", "ideal", "paypal", "yandex_money", "dcb", "paysms", "alipay")AliPay
payment_type_dataNoObjectObject with payment type data 
payment_type_data:phoneNoStringPhone number380000000000
customer_account_idNoStringCustomer ID in the merchant's system. In case of successful payment, card data will be tied to this ID4dad42f808
customer_date_of_birthNoStringCustomer birth date in format YYYY-MM-DD2000-11-21
customer_emailYesStringCustomer emailjondou@gmail.com
customer_first_nameNoStringCustomer's first nameJohn
customer_last_nameNoStringCustomer last nameSnow
customer_phoneNo/YesStringCustomer telephone (Mandatory for locations: UGA, KEN, TZA, GHA)380111111111
geo_countryNo/YesString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. (Mandatory for method PayPal)GBR
geo_cityNoStringCustomer cityNew Castle
ip_addressYesStringCustomer IP (only public ones)8.8.8.8
languageNoString(2)Customer language settings. Available values: RU - Russian, EN - Englishen
order_idYesStringOrder ID specified in merchant system123443334
order_dateNoStringDate of order creation in format YYYY-MM-DD-HH-MM-SS2015-12-21 11:21:30
order_descriptionYesStringOrder description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
callback_urlNoStringURL of merchant page, where response with payment result will be senthttp://merchant.example/callback
return_urlYesStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlYesStringURL of merchant page, to which a customer will be redirected after success paymenthttp://merchant.example/success
fail_urlYesStringURL of merchant page, to which a customer will be redirected after unsuccess paymenthttp://merchant.example/fail

Request sample

{
  "amount": 2575,
  "payment_method": "A",
  "callback_url": "http://merchant.example/callback",
  "currency": "USD",
  "customer_account_id": "user_id",
  "customer_date_of_birth": "2000-11-21",
  "customer_email": "example.user@example-email.com",
  "customer_first_name": "John",
  "customer_last_name": "Snow",
  "customer_phone": "380000000000",
  "geo_city": "New Castle",
  "geo_country": "GBR",
  "ip_address": "8.8.8.8",
  "language": "en",
  "order_date": "2015-12-21 11:21:30",
  "order_description": "Premium package",
  "order_id": "777",
  "platform": "WEB"
}

Parameters of the successful response

ParameterTypeDescriptionValue sample
orderObjectObject with information of the order 
order: order_idStringOrder ID specified in merchant system777
order: amountIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575
order: currencyStringOrder currency (3 letter code under ISO 4217)USD
order: statusStringOrder statuscreated
pay_formObjectObject with data payment form data 
pay_form: tokenStringPayment form token5849cf0468afc0ac4be4963c619b776eee75271d56e3c6621ab21
pay_form: return_urlStringURL of merchant page, to which a customer will be redirected to complete a paymenthttps://www.returnurl.com
payment_type_dataObject  
payment_type_data:idStringTicket id109/18369953-0
payment_type_data:numberStringTicket number34191091803699530044354689940002780050000015476
payment_type_data:expiration_dateStringTicket expiration date2019-09-08T02:59:00+0000
payment_type_data:barcodeStringTicket barcode34197800500000154761091836995300445468994000

Parameters of the successful response

{
 "order": {
 "amount": 5000,
 "currency": "USD",
  "order_id": "1504269591134TEST",
  "status": "created"
  },
 "pay_form": {
 "token": "6de603708b5b4c33a681dc1e47b20ad3"
 "return_url": "https://www.returnurl.com"
  } 
}

Example of response with information about an error

ParameterTypeDescriptionExample
errorObjectObject with information on error 
error:codeStringError codes list2.01
error: messagesObjectError messages 
error: messages:attribute_nameStringAttribute name where an error was foundcurrency
error: messages:error_messageArrayThe array of error messages relating to the respective attributeThis value should not be blank

Response sample with information about the error

{
  "error": {
    "code": "2.01",
    "messages": {
      "currency": [
        "Invalid Currency."
      ]
    }
  }
}

SolidGate Init-Payment Sofort

Operation of order initiating. It shall be used while working with a payment widget. 

This operation deems to create order in the system and return token being applied while calling payment widget.

POST https://gate.solidgate.com/api/v1/init-payment

Request parameters

ParameterMandatoryTypeDescriptionValue sample
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents1020
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217USD
payment_methodNoStringPayment method ( "przelewy24", "trustly", "bancontact", "giropay", "paysafecard", "sepa", "sofort", "ideal", "paypal", "yandex_money", "dcb", "paysms", "alipay")Sofort
payment_type_dataNoObjectObject with payment type data 
payment_type_data:phoneNoStringPhone number380000000000
customer_account_idNoStringCustomer ID in the merchant's system. In case of successful payment, card data will be tied to this ID4dad42f808
customer_date_of_birthNoStringCustomer birth date in format YYYY-MM-DD2000-11-21
customer_emailYesStringCustomer emailjondou@gmail.com
customer_first_nameNoStringCustomer's first nameJohn
customer_last_nameNoStringCustomer last nameSnow
customer_phoneNo/YesStringCustomer telephone (Mandatory for locations: UGA, KEN, TZA, GHA)380111111111
geo_countryNo/YesString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. (Mandatory for method PayPal)GBR
geo_cityNoStringCustomer cityNew Castle
ip_addressYesStringCustomer IP (only public ones)8.8.8.8
languageNoString(2)Customer language settings. Available values: RU - Russian, EN - Englishen
order_idYesStringOrder ID specified in merchant system123443334
order_dateNoStringDate of order creation in format YYYY-MM-DD-HH-MM-SS2015-12-21 11:21:30
order_descriptionYesStringOrder description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
callback_urlNoStringURL of merchant page, where response with payment result will be senthttp://merchant.example/callback
return_urlYesStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlYesStringURL of merchant page, to which a customer will be redirected after success paymenthttp://merchant.example/success
fail_urlYesStringURL of merchant page, to which a customer will be redirected after unsuccess paymenthttp://merchant.example/fail

Request sample

{
  "amount": 2575,
  "payment_method": "Sofort",
  "callback_url": "http://merchant.example/callback",
  "currency": "USD",
  "customer_account_id": "user_id",
  "customer_date_of_birth": "2000-11-21",
  "customer_email": "example.user@example-email.com",
  "customer_first_name": "John",
  "customer_last_name": "Snow",
  "customer_phone": "380000000000",
  "geo_city": "New Castle",
  "geo_country": "GBR",
  "ip_address": "8.8.8.8",
  "language": "en",
  "order_date": "2015-12-21 11:21:30",
  "order_description": "Premium package",
  "order_id": "777",
  "platform": "WEB"
}

Parameters of the successful response

ParameterTypeDescriptionValue sample
orderobjectObject with information of the order 
order: order_idstringOrder ID specified in merchant system777
order: amountintegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575
order: currencystringOrder currency (3 letter code under ISO 4217)USD
order: statusstringOrder statuscreated
pay_formobjectObject with data payment form data 
pay_form: tokenstringPayment form token5849cf0468afc0ac4be4963c619b776eee75271d56e3c6621ab21
pay_form: return_urlstringURL of merchant page, to which a customer will be redirected to complete a paymenthttps://www.returnurl.com
payment_type_dataobject  
payment_type_data:idstringTicket id109/18369953-0
payment_type_data:numberstringTicket number34191091803699530044354689940002780050000015476
payment_type_data:expiration_datestringTicket expiration date2019-09-08T02:59:00+0000
payment_type_data:barcodestringTicket barcode34197800500000154761091836995300445468994000

Parameters of the successful response

{
 "order": {
 "amount": 5000,
 "currency": "USD",
  "order_id": "1504269591134TEST",
  "status": "created"
  },
 "pay_form": {
 "token": "6de603708b5b4c33a681dc1e47b20ad3"
 "return_url": "https://www.returnurl.com"
  } 
}

Example of response with information about an error

ParameterTypeDescriptionExample
errorObjectObject with information on error 
error:codeStringError codes list2.01
error: messagesObjectError messages 
error: messages:attribute_nameStringAttribute name where an error was foundcurrency
error: messages:error_messageArrayThe array of error messages relating to the respective attributeThis value should not be blank

Response sample with information about the error

{
  "error": {
    "code": "2.01",
    "messages": {
      "currency": [
        "Invalid Currency."
      ]
    }
  }
}

SolidGate Init-Payment iDeal

Operation of order initiating. It shall be used while working with a payment widget. 

This operation deems to create order in the system and return token being applied while calling a payment widget.

The current flow of work with iDeal goes as follows:

  1. User is presented with bank selection. Merchant will match bank and BIC;
  2. The merchant sends init-request to Solid. It should contain all mandatory fields (BIC, etc…);
  3. In response, Solid provides a URL of the payment page;
  4. The merchant provides the redirect_page for a user with iDeal payment form;
  5. User will execute payment or decline it;
  6. After this, he will return to success or fail URL, in response to the status of the transaction.

POST https://gate.solidgate.com/api/v1/init-payment

Request parameters

ParameterMandatoryTypeDescriptionValue sample
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents.1020
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217
EUR only
EUR
payment_methodNoStringPayment method ( "przelewy24", "trustly", "bancontact", "giropay", "paysafecard", "sepa", "sofort", "ideal", "paypal", "yandex_money", "dcb", "paysms", "alipay")ideal
payment_type_dataYesObjectObject with payment type data 
payment_type_data:bicYesStringA BIC code is an international bank code that identifies particular banks worldwide.ABNANL2A
payment_type_data:phoneNoStringPhone number.380000000000
customer_account_idNoStringCustomer ID in the merchant's system. In case of successful payment, card data will be tied to this ID.4dad42f808
customer_date_of_birthNoStringCustomer birth date in format YYYY-MM-DD2000-11-21
customer_emailYesStringCustomer emailjondou@gmail.com
customer_first_nameNoStringCustomer's first nameJohn
customer_last_nameNoStringCustomer last nameSnow
customer_phoneNo/YesStringCustomer telephone (Mandatory for locations: UGA, KEN, TZA, GHA)380111111111
geo_countryNo/YesString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. (Mandatory for method PayPal)GBR
geo_cityNoStringCustomer cityNew Castle
ip_addressYesStringCustomer IP (only public ones)8.8.8.8
languageNoString(2)Customer language settings. Available values: RU - Russian, EN - Englishen
order_idYesStringOrder ID specified in merchant system123443334
order_dateNoStringDate of order creation in format YYYY-MM-DD-HH-MM-SS2015-12-21 11:21:30
order_descriptionYesStringOrder description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - application.WEB
callback_urlNoStringURL of merchant page, where response with payment result will be senthttp://merchant.example/callback
return_urlYesStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlYesStringURL of merchant page, to which a customer will be redirected after success paymenthttp://merchant.example/success
fail_urlYesStringURL of merchant page, to which a customer will be redirected after unsuccess paymenthttp://merchant.example/fail

Request sample

{
  "amount": 2575,
  "payment_method": "ideal",
  "payment_type_data": {
    "bic": "ABNANL2A"
  },
  "callback_url": "http://merchant.example/callback",
  "currency": "EUR",
  "customer_account_id": "user_id",
  "customer_date_of_birth": "2000-11-21",
  "customer_email": "example.user@example-email.com",
  "customer_first_name": "John",
  "customer_last_name": "Snow",
  "customer_phone": "380000000000",
  "geo_city": "New Castle",
  "geo_country": "GBR",
  "ip_address": "8.8.8.8",
  "language": "en",
  "order_date": "2015-12-21 11:21:30",
  "order_description": "Premium package",
  "order_id": "777",
  "platform": "WEB"
}

Parameters of the successful response

ParameterTypeDescriptionValue sample
orderObjectObject with information of the order 
order: order_idStringOrder ID specified in merchant system777
order: amountIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents.2575
order: currencyStringOrder currency (3 letter code under ISO 4217)
EUR only
EUR
order: statusStringOrder statuscreated
pay_formObjectObject with data payment form data 
pay_form: tokenStringPayment form token5849cf0468afc0ac4be4963c619b776eee75271d56e3c6621ab21
pay_form: return_urlStringURL of merchant page, to which a customer will be redirected to complete a paymenthttps://www.returnurl.com
payment_type_dataObject  
payment_type_data:idStringTicket id109/18369953-0
payment_type_data:numberStringTicket number34191091803699530044354689940002780050000015476
payment_type_data:expiration_dateStringTicket expiration date2019-09-08T02:59:00+0000
payment_type_data:barcodeStringTicket barcode34197800500000154761091836995300445468994000

Parameters of the successful response

{
 "order": {
 "amount": 5000,
 "currency": "EUR",
  "order_id": "1504269591134TEST",
  "status": "created"
  },
 "pay_form": {
 "token": "6de603708b5b4c33a681dc1e47b20ad3"
 "return_url": "https://www.returnurl.com"
  } 
}

Example of response with information about an error

ParameterTypeDescriptionExample
errorObjectObject with information on error 
error:codeStringError codes list2.01
error: messagesObjectError messages 
error: messages:attribute_nameStringAttribute name where an error was foundcurrency
error: messages:error_messageArrayThe array of error messages relating to the respective attributeThis value should not be blank.

Response sample with information about the error

{
  "error": {
    "code": "2.01",
    "messages": {
      "currency": [
        "Invalid Currency."
      ]
    }
  }
}

List of available BIC providers
<!--td {border: 1px solid #ccc;}br {mso-data-placement:same-cell;}-->

Issuer’s nameBIC
ABN AMROABNANL2A
ASN BankASNBNL21
bunqBUNQNL2A
HandelsbankenHANDNL2A
INGINGBNL2A
KnabKNABNL2H
MoneyouMOYONL21
RabobankRABONL2U
RegioBankRBRBNL21
SNSSNSBNL2A
Triodos BankTRIONL2U
Van LanschotFVLBNL22

SolidGate payment form

Payment widget should be shown to the customer can enter payment data. In order to pay the order, the following action should be:
 

Widget rendering

Payment widget should be rendered on HTML (for mobile apps Webview is applicable). "Token" data received from init-payment response shall be used.

HTML-tag script shall be created with attributes from widget key in order to switch widget on. Data-btn-id shall not be used. The received token shall be specified in field SCR.

Code samle

src="https://gate.solid.com/widget/c27f5cfc68da4123968d4118c9940e76"
<script type="text/javascript" src="{widget.src}"
data-script="{widget.data-script}"
data-title="{widget.data-title}"
data-description="{widget.data-description}">
</script>

Example


<script type="text/javascript"
src="http://gate.solid.com/widget/dccad90d23254c129afaf64545c7e13c"
data-script=" "    
data-btn-id="solid_pay_btn"
data-overlay="true"     
data-tittle="Tittle for payment widget"    
data-description="widget.data-description">
</script>

data-script = "btn_script" - mandatory parameter to search script
data-btn-id = "solid_pay_btn" - ID buttons which call the widget. If the parameter is not specified, a green button with text "PAY" will be created in order to call widget.
data-overlay = "true" - parameter to call dark background for the open widget. If the parameter is not specified, there will be no background.
data-title="Title for payment widget" - header parameter
data-description="Boost premium"  - service name for which you get paid
In this case, we receive standard button "PAY" resulting in the widget to be open

Event

document.addEventListener('closeWidget') - event for widget closing;

openWidget - event for widget opening. Parameter 'widgetHeight' transmits the widget height before opening;

payment - event for payment which transmits the information with regards to payment status (approved or declined).

SolidGate - One-click payments

One-click payments are linked to “customer_account_id” value. If the customer with particular "customer_account_id" made successful payments, while widget rendering a partial card number will be seen in order to make the one-click payment or enter a new card.

/media/22/download/image%20%283%29.webp?v=1&inline=0

SolidGate Refund

This is a request for transferring funds back to the cardholder.

Refunds are applicable only for successful orders.

POST https://gate.solidgate.com/api/v1/refund

Request parameters

ParameterMandatoryTypeDescriptionValue sample
order_idYesstring(255)Order ID specified in merchant system777
amountYesintegerRefund amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575

Request sample

{
  "order_id": "1511285499878WIDGET",
  "amount": 2000
}

Response sample

Parameter TypeDescriptionExample
orderobjectObject with information about the order 
order: order_idstringOrder ID specified in merchant system777
order: amountintegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575
order: currencystringOrder currency. 3 letter currency code under ISO-4217NGN
order: statusstringTransaction statusrefunded
order: methodstringPayment methodsolid-cards
order:processing_amountstringAmount in processing currency2575
order: processing_currencystringProcessing currencyNGN
pay_formobject  
pay_form: tokenstringCard token being applied for recurring payments. It's returned in case of successful payment4056cd8cccf96...40015a997d74
card_tokenobject  
card_token:tokenstringCard token being applied for recurring payments. It's returned in case of successful payment ae7ab1407317e77d9d1002cb41512c5e15def5d8b1
card_token: card_numberstringCard number in an encrypted format453245XXXXXX2692
card_token: card_brandstringCard brandVISA
card_token: card_countrystringCountry of card originNGN
card_token: card_bankstringIssuing bankCITIZENS STATE BANK
transactionsobject  
transactions: statusstringTransaction statusapproved
transactions: methodstringPayment methodsolid-cards
transactions: amountstringOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575
transactions: currencystringOrder currency. 3 letter currency code under ISO-4217NGN
transactions: typestringType of transactionrefund

Successful response sample

{
  "order": {
    "amount": 2575,
    "currency": "NGN",
    "order_id": "777",
    "status": "refunded",
    "method": "solid-cards",
    "processing_amount": "2575",
    "processing_currency": "NGN"
  },
  "card_token": {
    "token": "8a50381475ef122ed870dceb3b378cc976a53d1cbe92cdcdeaae7ec6c4e1659e1440c232d924b8a57645a2b56b4d099180bb",
    "card_number": "453245XXXXXX2692",
    "card_brand": "VISA",
    "card_country": "USA",
    "card_bank": "CITIZENS STATE BANK"
  },
  "pay_form": {
    "token": "2cf4d230f79943a49d695091bb919268"
  },
  "transactions": [
    {
      "status": "approved",
      "method": "solid-cards",
      "amount": 2575,
      "currency": "NGN",
      "type": "pay"
    },
    {
      "status": "refunded",
      "method": "solid-cards",
      "amount": 2575,
      "currency": "NGN",
      "type": "refund"
    }
  ]
}

Response sample with information about the error


{
  "error": {
    "code": "2.01",
    "messages": {
      "amount": [
        "This value should be greater than or equal to 1."
      ]
    }
  }
}

SolidGate - Cash Invoice Payments

Operation of invoice creation. It's applied to pay cash at the bank branch.

This operation creates order in the system. Invoice is generated and linked to the order. Payment details are returned on bank end.

POST https://gate.solidgate.com/api/v1/invoice


 

Request parameters

ParameterMandatoryTypeDescriptionValue sample
amountYesintegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents1020
currencyYesstring(3)Order currency. 3 letter currency code under ISO-4217USD
customer_account_idNostring(100)Customer ID specified in the merchant system. Card data are linked to this field if the payment is successful4dad42f808
customer_date_of_birthNostring(50)Customer birthday in format YYYY-MM-DD2000-11-21
customer_emailYesstring(100)Customer emailjondou@gmail.com
customer_first_nameNostring(100)Customer first nameJohn
customer_last_nameNostring(100)Customer last nameSnow
customer_phoneNostring(50)Customer phone380111111111
geo_countryNostring(3)Customer country. The code in the format under ISO 3166-1 alpha-3GBR
geo_cityNostring(100)Customer cityNew Castle
ip_addressYesstring(50)Customer IP (only public ones)8.8.8.8
languageNostring(2)Customer language settings. Available values: RU - Russian, EN - Englishen
order_idYesstring(255)Order ID specified in the merchant system123443334
order_dateNostring(50)Date of creation order in format YYYT-MM-DD-MM-SS2015-12-21 11:21:30
order_descriptionYesstring(255)Order description in UTF-8 codePremium package
platformYesstring(6)Customer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
callback_urlNostring(255)URL of merchant page, where response with payment result will be senthttp://merchant.example/callback

Request sample

{
  "amount": 2575,
  "callback_url": "http://merchant.example/callback",
  "currency": "USD",
  "customer_account_id": "user_id",
  "customer_date_of_birth": "2000-11-21",
  "customer_email": "example.user@example-email.com",
  "customer_first_name": "John",
  "customer_last_name": "Snow",
  "customer_phone": "380000000000",
  "geo_city": "New Castle",
  "geo_country": "GBR",
  "ip_address": "8.8.8.8",
  "language": "en",
  "order_date": "2015-12-21 11:21:30",
  "order_description": "Premium package",
  "order_id": "777",
  "platform": "WEB"
}

Successful response samples

ParameterTypeDescriptionValue Sample
orderobjectObject with information about the order 
order: order_idintegerOrder ID specified in the merchant system777
order: amountintegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575
order: currencystringOrder currency. 3 letter currency code under ISO-4217USD
order: statusstringTransaction statuscreated
order: methodstringPayment methodinvoice
invoiceobjectObject with information about the invoice 
invoice: invoice_numberstringInvoice number52120039560
invoice: invoice_merchantstringMerchant to whom the payment is assignedmerchant
invoice: emailstringCustomer email to be indicated in payment detailsjohn.snow@gmail.com

Response sample for successful payment

{
  "order": {
    "amount": 1500,
    "currency": "NGN",
    "order_id": 1511189076,
    "status": "created",
    "method": "invoice"
  },
  "invoice": {
    "invoice_number": "52120039560",
    "invoice_merchant": "merchant",
    "email": "example.user@example-email.com"
  }
}

Successful response sample if Status method applied

ParameterTypeDescriptionExample
orderobjectObject with information about the order 
order: amountintegerOrder amount25000
order: currencystringOrder currencyNGN
order: order_idstringOrder ID specified in the merchant system151134992549
order: statusstringTransaction statusapproved
order: methodstringPayment methodinvoice
order: processing_amountstringPaid amount25000
order: processing_currencystringTransaction currencyNGN
transactionsobjectObject with information about the transaction 
transactions: statusstringTransaction statusapproved
transactions: methodstringTransaction Payment methodinvoice
transactions: amountintegerTransaction amount25000
transactions: currencystringTransaction currencyNGN
transactions: typestringTransaction typepay

Successful response sample


{
  "order": {
    "amount": 25000,
    "currency": "NGN",
    "order_id": "1513010320068invoice",
    "status": "approved",
    "method": "invoice",
    "processing_amount": "25000",
    "processing_currency": "NGN"
  },
  "transactions": [
    {
      "status": "approved",
      "method": "invoice",
      "amount": 25000,
      "currency": "NGN",
      "type": "pay"
    }
  ]
}

Successful response sample (partial_approved)

{
  "order": {
    "amount": 25000,
    "currency": "NGN",
    "order_id": "1513010535090invoice",
    "status": "partial_approved",
    "method": "invoice",
    "processing_amount": "24900",
    "processing_currency": "NGN"
  },
  "transactions": [
    {
      "status": "approved",
      "method": "invoice",
      "amount": 24900,
      "currency": "NGN",
      "type": "pay"
    }
  ]
}

If the invoice was paid with the amount more or less, the order status will be deemed as "Partial_approved".

Response sample with information about the error

{
  "error": {
    "code": "2.01",
    "messages": {
      "amount": [
        "This value should be greater than or equal to "1"."
      ]
    }
  }
}

SolidGate Status

Request in order to get current order status.

POST https://gate.solidgate.com/api/v1/status

Request parameters

ParameterMandatoryTypeDescriptionValue sample
order_idYesstring(255)Order ID specified in merchant system123443334

Request sample

{
  "order_id": "777"
}

Successful response sample

ParameterTypeDescriptionExample
orderobjectObject with information about the order 
order: order_idstringOrder ID specified in merchant system777
order: amountintegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575
order: currencystringOrder currency. 3 letter currency code under ISO-4217USD
order: statusstringOrder statuscreated
order: methodstringPayment methodsolid-cards
order: created_at StringWhen the order was created2020-07-02 23:39:06
order: updated_atStringThe last time the order was updated2020-07-08 01:40:44
order: customer_emailStringEmail of the customertest@gmail.com
order: ip_addressStringIP of the customer70.65.246.237
pay_formobject  
pay_form: tokenstringCard token being applied for recurring payments. It's returned in case of successful payment4056cd8cccf96...40015a997d74
card_tokenobject  
card_token: tokenstringCard token being applied for recurring payments. It's returned in case of successful payment ae7ab1407317e77d9d1002cb41512c5e15def5d8b1
card_token: card_numberstringCard number in an encrypted format453245XXXXXX2692
card_token: card_brandstringCard brandVISA
card_token: card_countrystringCountry of card originUSA
card_token: card_bankstringIssuing bankSTATE BANK
transactionsobjectObject with information about the transaction 
transactions: statusstringTransaction statusapproved
transactions: methodstringTransaction Payment methodsolid-cards
transactions: amountintegerTransaction amount1500
transactions: currencystringTransaction currencyNGN
transactions: typestringTransaction typepay

Successful response sample

{
  "order": {
    "amount": 1500,
    "currency": "NGN",
    "order_id": "1513005352925widget",
    "status": "approved",
    "method": "solid-cards",
    "created_at": "2020-07-02 23:39:06",
    "updated_at": "2020-07-08 01:40:44",
    "customer_email": "test@gmail.com",
    "ip_address": "8.8.8.8",
  },
  "card_token": {
    "token": "805c558d57f50befc2d8bca4c3dcc04afcb211870637984cc6c96bd3b4e376f61c7fd2dc0ec409451c40fde7323abf54a8bf",
    "card_number": "453245XXXXXX2692",
    "card_brand": "VISA",
    "card_country": "USA",
    "card_bank": "STATE BANK"
  },
  "pay_form": {
    "token": "57c70aed87c94c6cb50cb68e64cffa91"
  },
  "transactions": [
    {
      "status": "approved",
      "method": "solid-cards",
      "amount": 1500,
      "currency": "NGN",
      "type": "pay"
    }
  ]
}

SolidGate Recurring

Operation of order initiating. It shall be used while working with a payment form.

This operation deems to create order in the system and return token being applied while calling payment form.

POST https://gate.solidgate.com/api/v1/recurring

Request parameters

ParameterMandatoryTypeDescriptionValue sample
amountYesintegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents1020
currencyYesstring(3)Order currency. 3 letter currency code under ISO-4217USD
payment_methodNostring(255)Payment method ( "przelewy24", "trustly", "bancontact", "giropay", "paysafecard", "sepa", "sofort", "ideal", "paypal", "yandex_money", "dcb")paypal
tokenYesstring(255)Card token that can be used for future transactions afsdgrg34g34g34g34g
customer_account_idNostring(100)Customer ID in the merchant's system. In case of successful payment, card data will be tied to this ID4dad42f808
customer_date_of_birthNostring(50)Customer birth date in format YYYY-MM-DD2000-11-21
customer_emailYesstring(100)Customer emailjondou@gmail.com
customer_first_nameNostring(100)Customer first nameJohn
customer_last_nameNostring(100)Customer last nameSnow
customer_phoneNostring(50)Customer telephone380111111111
geo_countryNostring(3)Customer country. Code shall be in ISO 3166-1 alpha-3 formatGBR
geo_cityNostring(100)Customer cityNew Castle
ip_addressYesstring(50)Customer IP (only public ones)8.8.8.8
languageNostring(2)Customer language settings. Available values: RU - Russian, EN - Englishen
order_idYesstring(255)Order ID specified in merchant system123443334
order_dateNostring(50)Date of order creation in format YYYY-MM-DD-HH-MM-SS2015-12-21 11:21:30
order_descriptionYesstring(255)Order description in UTF-8 codePremium package
platformYesstring(6)Customer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
callback_urlNostring(255)URL of merchant page, where response with payment result will be senthttp://merchant.example/callback
return_urlYesstring(255)URL of merchant page, which a customer will be redirected after completed paymenthttp://merchant.example/return

Request sample

{
  "amount": 2575,
  "payment_method": "paypal",
  "callback_url": "http://merchant.example/callback",
  "currency": "USD",
  "customer_account_id": "user_id",
  "customer_date_of_birth": "2000-11-21",
  "customer_email": "example.user@example-email.com",
  "customer_first_name": "John",
  "customer_last_name": "Snow",
  "customer_phone": "380000000000",
  "geo_city": "New Castle",
  "geo_country": "GBR",
  "ip_address": "8.8.8.8",
  "language": "en",
  "order_date": "2015-12-21 11:21:30",
  "order_description": "Premium package",
  "order_id": "777",
  "platform": "WEB"
}

Parameters of the successful response
 

ParameterTypeDescriptionValue sample
orderobjectObject with information on the order 
order: order_idstringOrder ID specified in merchant system777
order: amountintegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575
order: currencystringOrder currency (3 letter code under ISO 4217)USD
order: statusstringOrder statuscreated
pay_formobjectObject with data payment form data 
pay_form: tokenstringPayment form token5849cf0468afc0ac4be4963c619b776eee75271d56e3c6621ab21

Parameters of the successful response

{
 "order": {
 "amount": 5000,
 "currency": "USD",
  "order_id": "1504269591134TEST",
  "status": "created"
  },
 "pay_form": {
 "token": "6de603708b5b4c33a681dc1e47b20ad3"
  }
}

Response sample with information about the error

{
  "error": {
    "code": "2.01",
    "messages": {
      "currency": [
        "Invalid Currency."
      ]
    }
  }
}

SolidGate - Boleto

Voucher payments and the way Brazilians pay

The Boleto Bancário is a printable voucher that Brazilians use to pay for their monthly bills, such as water and energy, or even governmental taxes or fines, and has become one of the preferred payment methods for online purchases in Brazil. Customers can pay the boleto in cash in more than 200K payment locations, or through internet banking.
 

71,1% of Brazilians who pay online with boleto do have a checking account. This shows that using this voucher is a matter of preference rather than a necessity.

38,8% of them pay with boleto because they fear credit card fraud.

/media/23/download/09-04%2012-54-47.png?v=1&inline=0

POST https://gate.solidgate.com/api/v1/init-payment

Request parameters

ParameterMandatoryTypeDescriptionValue sample
amountYesintegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents1000
currencyYesstring(3)Order currency. 3 letter currency code under ISO-4217BRL
customer_account_idNostringCustomer ID in the merchant's system. In case of successful payment, card data will be tied to this ID4dad42f808
customer_date_of_birthNostringCustomer birth date in format YYYY-MM-DD2000-11-21
customer_emailYesstringCustomer email 
customer_first_nameNostringCustomer-first nameJohn
customer_last_nameNostringCustomer last nameSnow
customer_phoneNostringCustomer telephone380111111111
geo_countryNostring(3)Customer country. Code shall be in ISO 3166-1 alpha-3 formatBRA
geo_cityNostringCustomer cityNew Castle
ip_addressYesstringCustomer IP (only public ones)8.8.8.8
languageNostring(2)Customer language settings. Available values: RU - Russian, EN - Englishen
order_idYesstringOrder ID specified in merchant system123443334
order_dateNostringDate of order creation in format YYYY-MM-DD-HH-MM-SS2015-12-21 11:21:30
order_descriptionYesstringOrder description in UTF-8 codePremium package
platformYesstringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - application.WEB
payment_type_dataYesobjectObject with payment type data 
payment_type_data:cpfYesstringCPF - individual taxpayer registry identification, a number attributed by the Brazilian Federal Revenue42243309114
payment_methodYesstringPayment methodboleto
callback_urlNostringURL of merchant page, where response with payment result will be senthttp://merchant.example/callback

Request sample

{
  "amount": 2500,
  "currency": "BRL",
  "customer_account_id": "1567491958095widget",
  "customer_email": "kurt.Cruickshank.toster@gmail.com",
  "customer_first_name": "John",
  "customer_last_name": "Snow",
  "customer_phone": "+380954543322",
  "geo_country": "BRA",
  "ip_address": "8.8.8.8",
  "language": "en",
  "order_description": "test",
  "order_id": "1567491958095widget",
  "order_items": "order_items",
  "platform": "WEB",
  "payment_method": "boleto",
  "payment_type_data": {
    "cpf": "42243309114"
  },
  "callback_url": "http://merchant.example/callback"
}

Parameters of the successful response

ParameterTypeDescriptionValue sample
orderobjectObject with information of the order 
order: order_idstringOrder ID specified in merchant system777
order: amountintegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575
order: currencystringOrder currency (3 letter code under ISO 4217)USD
order: statusstringOrder statuscreated
pay_formobjectObject with data payment form data 
pay_form: tokenstringPayment form token5849cf0468afc0ac4be4963c619b776eee75271d56e3c6621ab21
payment_type_dataobject  
payment_type_data:idstringTicket id109/18369953-0
payment_type_data:numberstringTicket number34191091803699530044354689940002780050000015476
payment_type_data:expiration_datestringTicket expiration date2019-09-08T02:59:00+0000
payment_type_data:barcodestringTicket barcode34197800500000154761091836995300445468994000
transactionsarrayAn object with information of transactions 
transactions: statusstringTransaction status processing
transactions: methodstringTransaction methodboleto
transactions: amountintegerTransaction amount2500
transactions: currencystringTransaction currencyBRL
transactions: typestringTransaction typepay

Parameters of the successful response

{
  "payment_type_data": {
    "id": "109/18414522-8",
    "number": "34191091804145228044354689940002880060000002500",
    "expiration_date": "2019-09-09T02:59:00+0000",
    "barcode": "34198800600000025001091841452280445468994000"
  },
  "order": {
    "amount": 2500,
    "currency": "BRL",
    "order_id": "1567491958095widget",
    "status": "processing",
    "method": "boleto"
  },
  "pay_form": {
    "token": "885262c417834dfbb8b1dfceaf119aff"
  },
  "transactions": [
    {
      "status": "processing",
      "method": "boleto",
      "amount": 2500,
      "currency": "BRL",
      "type": "pay"
    }
  ]
}

Responsive Boleto for Mobile Devices

Thinking of increasing mobile conversions, Solid improved the mobile user experience by creating a boleto 100% optimized for mobile devices.

Example of appearance for user

/media/24/download/09-04%2013-02-42.png?v=1&inline=0

Barcode needs to have the Interleaved 2 of 5 (ITF) format in order to be recognized by all Boleto Bancario barcode readers.

Refund

This is a request for transferring funds back to the cardholder.

Refunds are applicable only for successful orders.

POST https://gate.solidgate.com/api/v1/refund

Request parameters

ParameterMandatoryTypeDescriptionValue sample
amountYesintegerRefund amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575
order_idYesstring(255)Order ID specified in merchant system777
refund_type_dataYesobject  
refund_type_data:beneficiary_nameYesstring(255)User's full nameEmilia Dark
refund_type_data:bank_accountYesstring(255)User's bank account number 
refund_type_data:bank_branchYesstring(255)User's bank branch name 
refund_type_data:bankYesstring(255)User's bank name 
refund_type_data:bank_account_typeYesstring(255)Type of bank account. C: for Current accounts; S: for Savings accounts; I: International accountsC
refund_type_data:descriptionNostring(255)Description of the refund 

Request Sample

{
  "amount": 2575,
  "order_id": "777",
  "payment_type_data": {},
  "refund_type_data": {
    "beneficiary_name": "Emilia Dark",
    "bank_account": "account",
    "bank_branch": "branch",
    "bank": "bank",
    "bank_account_type": "C",
    "description": "description"
  }
}

Parameters of the successful response

ParameterTypeDescriptionValue sample
orderobjectObject with information about the order 
order: order_idstringOrder ID specified in merchant system777
order: amountintegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575
order: currencystringOrder currency. 3 letter currency code under ISO-4217BRL
order: statusstringTransaction statusrefunded
order: methodstringPayment methodsolid-cards
order:processing_amountstringAmount in processing currency2575
order: processing_currencystringProcessing currencyBRL
pay_formobject  
pay_form: tokenstringCard token being applied for recurring payments. It's returned in case of successful payment4056cd8cccf96...40015a997d74
card_tokenobject  
card_token:tokenstringCard token being applied for recurring payments. It's returned in case of successful payment. ae7ab1407317e77d9d1002cb41512c5e15def5d8b1
card_token: card_numberstringCard number in an encrypted format.453245XXXXXX2692
card_token: card_brandstringCard brandVISA
card_token: card_countrystringCountry of card originNGN
card_token: card_bankstringIssuing bankCITIZENS STATE BANK
transactionsobject  
transactions: statusstringTransaction statusapproved
transactions: methodstringPayment methodsolid-cards
transactions: amountstringOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents.2575
transactions: currencystringOrder currency. 3 letter currency code under ISO-4217BRL
transactions: typestringType of transactionrefund
payment_type_dataobject  
payment_type_data: idstringTicket id109/32588901-5
payment_type_data: numberstringTicket number34191093215889015044254689940002681130000050000
payment_type_data: expiration_datestringTicket expiration date2019-12-25T01:59:00+0000
payment_type_data: barcodestringTicket barcode34196811300000500001093258890150445468994000

Successful response sample

{
  "payment_type_data": {
    "id": "109/32588901-5",
    "number": "34191093215889015044254689940002681130000050000",
    "expiration_date": "2019-12-25T01:59:00+0000",
    "barcode": "34196811300000500001093258890150445468994000"
  },
  "order": {
    "amount": 2575,
    "currency": "BRL",
    "order_id": "1576766096183widget",
    "status": "refunded",
    "method": "boleto"
  },
  "pay_form": {
    "token": "7df93d046e76442aa585bddbf6d8d44b"
  },
  "transactions": [
    {
      "status": "success",
      "method": "boleto",
      "amount": 2575,
      "currency": "BRL",
      "type": "pay"
    },
    {
      "status": "success",
      "method": "boleto",
      "amount": 2575,
      "currency": "BRL",
      "type": "refund"
    }
  ]
}

SolidGate - Callbacks

SolidGate can notify merchants about different events taking place with orders. Callback notification shall be sent with a POST request to URL specified by merchant. The JSON format is applicable.

The following notification types are applicable:

Order status Callback - notification about any order status change

In order to apply the function of notification on status changes, the merchant is required to send filled attribute callback_url during the initial request (Callback URL is web-resource address on merchant end). POST requests in JSON format will be sent to this URL. These requests are notifications regarding the current order status.

Request parameters


 

ParametersTypeDescriptionValue Sample
orderobjectObject with information about the order 
order:order_idstringOrder ID specified in merchant system777
order:amountstringOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents2575
order:currencystringOrder currency. 3 letter currency code under ISO-4217USD
order:statusstringTransaction statusapproved
order: methodstringPayment methodsolid-cards
order: processing_amountstringAmount in processing currency2575
order: processing_currencystringProcessing currencyNGN
pay_formobjectObject with information about payment form 
pay_form: tokenstringPayment form token5849cf0468afc...c6621ab21
card_tokenobject  
card_token: tokenstringCard number in encrypted format ae7ab1407317e77d9d1002cb41512c5e15def5d8b1
card_token: card_numberstringCard number453245XXXXXX2692
card_token: card_brandstringCard brandVISA
card_token: card_countrystringCountry of card originUSA
card_token: card_bankstringIssuing bankSTATE BANK
transactionsobject  
transactions: statusstringTransaction statusapproved
transactions: methodstringPayment methodsolid-cards
transactions: amountstringOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents.2575
transactions: currencystringOrder currency. 3 letter currency code under ISO-4217NGN
transactions: typestringType of transactionpay

Successful request sample

{
  "order": {
    "amount": 1500,
    "currency": "NGN",
    "order_id": "1555932951120widget",
    "status": "approved",
    "method": "solid-cards",
    "processing_amount": "5",
    "processing_currency": "USD"
  },
  "card_token": {
    "token": "7fa26c8feb7593a6eb3eed508651d65a8a4aa5f860f30fe382d879f9d2b478f8f95e3aabb5ef304148d1ae15fd4b04104438",
    "card_number": "453245XXXXXX2692",
    "card_brand": "VISA",
    "card_country": "USA",
    "card_bank": "CITIZENS STATE BANK"
  },
  "pay_form": {
    "token": "d9ecff062860423f87bba5f9cce5afcf"
  },
  "transactions": [
    {
      "status": "success",
      "method": "solid-cards",
      "amount": 1500,
      "currency": "NGN",
      "type": "pay"
    }
  ]
}

Request parameters during invoice payment

ParameterTypeDescriptionValue sample
orderobjectObject with information about the order 
order: amountintegerOrder amount25000
order: currencystringOrder currencyNGN
order: order_idstringOrder ID specified in merchant system151134992549
order: statusstringTransaction statusapproved
order: methodstringPayment methodinvoice
order: processing_amountstringPaid amount25000
order: processing_currencystringPayment currencyNGN

Successful request sample


{
  "order": {
    "amount": 21000,
    "currency": "NGN",
    "order_id": "1511353425147invoice",
    "status": "approved",
    "method": "invoice",
    "processing_amount": "21000",
    "processing_currency": "NGN"
  }
}

Once the callback is sent, we expect to see from merchant code-200 in response and JSON as follows:

{
  "status": "ok"
}

In case we get response different from the specified one, the callback will be considered to be not received.