Alternative Payments Methods

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.

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

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.

Please, note that all requests must be signed.

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

 Init Payment Request Body Parameters

ParameterMandatoryTypeDescriptionValue sample
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.1020
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217USD
payment_methodYesStringPayment method ( "paypal-vault","przelewy24", "giropay",  "sepa", "sofort", "ideal", "mercadopago")sepa
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
payment_type_data:bank_nameNoStringSpecific bank to which the customer should be redirected. Applicable only for poland-bank-transfer. Value: santander, ipko, bph_bank, credit_agricole, pekao, bank_millennium, raiffeisen_bank, ing, citihandlowy, mbank.bank_millennium
customer_account_idNoStringCustomer ID in the merchant's system.4dad42f808
customer_date_of_birthNoStringCustomer birth date in format YYYY-MM-DD2000-11-21
customer_emailYesStringCustomer email. Must be valid. jondou@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_countryNoString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. This field is deprecated, instead of geo_country use billing_address:countryGBR
geo_cityNoStringCustomer city. This field is deprecated, instead of geo_city use billing_address: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_descriptionYesString(100)Order description in UTF-8 codePremium package
billing_addressNoObjectThe billing address of the cardholder. Required for PayPal and Mercado Pago subscription payments 
billing_address:countryNoString(3)ISO country code of the country that was sent in the requestUSA
billing_address:stateNoString(100)Code of the State that was sent in the requestWA
billing_address:cityNoString(100)City name that was sent in the requestNew York
billing_address:zipNoString(10)The address zip/postal code10005
billing_address:line1NoString(100)The first line of the addressTottenham Court Road
billing_address:line2NoString(100)The second line of the address90
shipping_addressNoObjectThe address to ship. If this field is passed by the merchant - the customer cannot change this address. 
shipping_address:countryNoString(3)ISO country code where the person, business or institution is locatedUSA
shipping_address:stateNoString(100)Code of the State where the person, business or institution is locatedNY
shipping_address:cityNoString(100)The city or town where the person, business or institution is locatedBoston
shipping_address:zipNoString(10)The address zip/postal code where the person, business or institution is located91191
shipping_address:line1NoString(100)The first line of the addressBedford Ave
shipping_address:line2NoString(100)The second line of the address21
item_categoryNoStringThe value uniquely identifies the item category. Value: physical_goods (a tangible item that can be shipped with proof of delivery) or digital_goods (goods that are stored, delivered, and used in their electronic format).physical_goods
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
order_metadataNoobjectMetadata is useful for storing additional, structured information about an object. The object consists of a set of key-value pairs (e.g. “coupon_code”: “NY2018", “partner_id”: “123989"). The callback notification returns an order_metadata from the order in each state. The validation of up to 10 fields with an upper limit of 255 characters. 
return_urlNoStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlNoStringURL of merchant page, to which a customer will be redirected after success paymenthttp://merchant.example/success
fail_urlNoStringURL of merchant page, to which a customer will be redirected after unsuccess paymenthttp://merchant.example/fail

Init Payment Request Sample


{
  "amount": 2575,
  "payment_method": "sepa",
  "payment_type_data": {
      "bank_name": "bank_millennium"
  },
  "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",
  "ip_address": "8.8.8.8",
  "language": "en",
  "order_date": "2015-12-21 11:21:30",
  "order_description": "Premium package",
  "billing_address": {
     "country": "USA",
     "state": "WA",
     "city": "New York",
     "zip": "10005",
     "line1":"Tottenham Court Road",
     "line2":"90"
  },
  "shipping_address": {
     "country": "USA",
     "state": "NY",
     "city":"Boston",
     "zip": "91191",
     "line1":"Bedford Ave",
     "line2":"21"
  },
  "order_metadata": {
    "coupon_code": "NY2018",
    "partner_id": "123989",
    "udf_client_type": "vipClient",
    "udf_delivery_group": "fastDelivery"
   },
  "item_category": "physical_goods",
  "order_id": "777",
  "platform": "WEB"
}

 Init Payment Response Body Parameters

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. For example, if the currency is JPY, then 1000 means 1000 JPY.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
payment_type_data:bank_nameStringSpecific bank to which the customer should be redirected. Applicable only for poland-bank-transfer. Value: santander, ipko, bph_bank, credit_agricole, pekao, bank_millennium, raiffeisen_bank, ing, citihandlowy, mbank.bank_millennium

Init Payment Response Body | Success

{
 "order": {
 "amount": 5000,
 "currency": "USD",
 "payment_type_data": {
      "bank_name": "bank_millennium"
  }
  "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"
  }
}

SolidGate Init-Payment PayPal

Operation of order initiating. This operation creates an order in the system and returns the Java script URL applied while calling the PayPal button.

If you work under the subscription model, after successful payment, you will receive in the object order a token that you could use for recurring payments.

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

Init Payment Request Body Parameters | PayPal

ParameterMandatoryTypeDescriptionValue sample
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.1020
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217. List of currencies available for PayPal is limited.USD
product_idNoString(36)The ID of the predefined product. Required for subscription payments.faf3b86a-1fe6-4ae5-84d4-ab0651d75db2
payment_methodYesStringPayPal Vaultpaypal-vault
customer_account_idNoStringCustomer ID in the merchant's system. Required for subscription payments.user_id
order_idYesStringOrder ID specified in merchant systemtestPayPal777
order_descriptionYesString(100)Order description in UTF-8 code. For the init-payment subscription and one-time payments, the field value is displayed on the user's PayPal statement. The settings of recurring subscription payments.Premium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - application.WEB
customer_emailYesStringAn email that belongs to a customerjondou@gmail.com
geo_countryNoString(3)Customer’s country. Code shall be in ISO 3166-1 alpha-3 format. This field is deprecated, instead of geo_country use billing_address:countryGBR
ip_addressYesStringIP address (only public ones)8.8.8.8
customer_date_of_birthNoStringCustomer birth date in format YYYY-MM-DD2000-11-21
customer_first_nameNoStringCustomer’s first nameJohn
customer_last_nameNoStringCustomer’s last nameSnow
customer_phoneNoStringCustomer’s telephone380000000000
geo_cityNoStringCustomer’s city. This field is deprecated, instead of geo_city use billing_address:cityNew Castle
languageNoString(2)Customer’s language settings. Available values: RU - Russian, EN - Englishen
order_dateNoStringDate of order creation in format YYYY-MM-DD-HH-MM-SS2015-12-21 11:21:30
return_urlNoStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlNoStringURL of merchant page, to which a customer will be redirected after success paymenthttp://merchant.example/success
fail_urlNoStringURL of merchant page, to which a customer will be redirected after unsuccess paymenthttp://merchant.example/fail

For recurring subscription payments initiated by our subscription service, the field order_description can be configured in the product settings - Public Product Description. You can do it yourself in HUB → Subscriptions → Products → Select product → Edit details. (Please note the limit of 100 symbols, including spaces, dots, etc.)

Init Payment Request Body | PayPal

{
  "amount": 2575,
  "currency": "USD",
  "payment_method": "paypal-vault",
  "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",
  "language": "en",
  "order_date": "2015-12-21 11:21:30",
  "order_description": "Premium package",
  "order_id": "testPayPal777",
  "platform": "WEB",
  "ip_address": "8.8.8.8"
}

 Init Payment Response Body Parameters | PayPal

ParameterTypeDescriptionValue sample
orderObjectObject with information of the order 
order: methodStringA method that is used for the subscription paymentpaypal-vault
order: order_idStringOrder ID specified in merchant systemtestPayPal777
order: amountIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents.999
order: currencyStringOrder currency (3 letter code under ISO 4217)USD
order: statusStringOrder statuscreated
pay_formObjectObject with data payment form data 
pay_form: script_urlStringPayPal Button Scripthttps://gate.solidgate.com/widget/7d0d148742af492ea075e1972779df78

Init Payment Response Body | PayPal Success

{
    "order": {
        "amount": 999,
        "currency": "USD",
        "order_id": "testPayPal777",
        "status": "created",
        "method": "paypal-vault"
    },
    "pay_form": {
        "script_url": "https://gate.solidgate.com/widget/3e74d293f47e4c7899613ba37e38ee43"
    }
}

    PayPal Button Initialization Params

ParameterDescriptionValue sample
data-labelButton label
  • buynow (default)
  • checkout
  • paypal
  • pay
data-colorButton color
  • gold (default)
  • blue
  • silver
  • white
  • black
data-shapeButton shape
  • pill (default)
  • rect

    PayPal Button Events Params

EventsValueDescription
EVENT_BUTTON_READYbutton-readyThe button is ready to be used
EVENT_BUTTON_ERRORbutton-errorThere is an error with the button rendering
EVENT_ORDER_STARTED_PROCESSINGorder-started-processingOrder is in processing
EVENT_ORDER_PROCESSEDorder-processedOrder is processed
EVENT_ORDER_ALREADY_PROCESSEDorder-already-processedAppears if the user goes on the page with the order creation again
EVENT_BUTTON_CLICKbutton-clickThe user clicked the button

PayPal Button Initialization Example

<div id="paypal-button"></div>
<script>
    var elem = document.getElementById('paypal-button');
    elem.addEventListener('order-started-processing', function (e) {
        console.log('order-started-processing',e);
    }, false);
    elem.addEventListener('order-processed', function (e) {
        console.log('order-processed',e);
    }, false);
    elem.addEventListener('order-already-processed', function (e) {
        console.log('order-already-processed', e)
    }, false);
    elem.addEventListener('button-ready', function (e) {
        console.log('button-ready', e)
    }, false);
    elem.addEventListener('button-error', function (e) {
        console.log('button-error',e);
    }, false);
    elem.addEventListener('button-click', function (e) {
        console.log('button-click',e);
    }, false);
<script type="text/javascript"
        src="https://gate.solidgate.com/widget/9d81b91uisf234bhjb23jhb562cc5101"
        data-label="checkout"
        data-color="blue"
        data-shape="rect"
>
</script>

Event Order-Processed Sample | Success

{
  "order": {
    "amount": 100,
    "currency": "USD",
    "order_id": "1595234886934init",
    "status": "approved",
    "method": "paypal-vault",
    "token": "6c441e1117978dad8c47f1985420f55c4884a323fdf35dfcb8d3dc35ccb5d09b369b0fd89d00f054cce34b3c6a854184b995",
    "customer_email": "kurt.Cruickshank.toster@gmail.com",
    "ip_address": "8.8.8.8",
    "created_at": "2020-07-20 08:48:07",
    "updated_at": "2020-07-20 08:49:19"
  },
  "pay_form": {
    "script_url": "https://gate.solidgate.com/widget/fb124ba2d884427d8724c1a78ad304de"
  },
  "transactions": [
    {
      "status": "success",
      "method": "paypal-vault",
      "amount": 100,
      "currency": "USD",
      "type": "pay"
    }
  ]
}

Event Order-Processed Sample | Decline

{
  "order": {
    "amount": 100,
    "currency": "EUR",
    "order_id": "1595234705069init",
    "status": "declined",
    "method": "paypal-vault",
    "customer_email": "kurt.Cruickshank.toster@gmail.com",
    "ip_address": "8.8.8.8",
    "created_at": "2020-07-20 08:45:05",
    "updated_at": "2020-07-20 08:46:27"
  },
  "pay_form": {
    "script_url": "https://gate.solidgate.com/widget/a48fcc6c3abf425eaa61b2289675f489"
  },
  "error": {
    "code": "0.01",
    "messages": [
      "General decline"
    ],
    "recommended_message_for_user": "General decline"
  },
  "transactions": [
    {
      "status": "fail",
      "method": "paypal-vault",
      "amount": 100,
      "currency": "EUR",
      "type": "pay"
    }
  ]
}

SolidGate Init-Payment Sofort

Operation of order initiating.


This operation creates an order in the system and returns a redirect URL. You should redirect the end-user to this URL.

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

 Init Payment Request Body Parameters | Sofort

ParameterMandatoryTypeDescriptionValue sample
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 EUR and 20 cents. EUR only.1020
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217EUR
payment_methodNoStringPayment method — sofortsofort
payment_type_dataNoObjectObject with payment type data 
payment_type_data:phoneNoStringPhone number380000000000
customer_account_idNoStringCustomer ID in the merchant's system4dad42f808
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_countryNoString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. This field is deprecated, instead of geo_country use billing_address:countryGBR
geo_cityNoStringCustomer city. This field is deprecated, instead of geo_city use billing_address: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_descriptionYesString(100)Order description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
return_urlNoStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlNoStringURL of merchant page, to which a customer will be redirected after success paymenthttp://merchant.example/success
fail_urlNoStringURL of merchant page, to which a customer will be redirected after unsuccess paymenthttp://merchant.example/fail

Init Payment Request Sample | Sofort

{
  "amount": 2575,
  "payment_method": "sofort",
  "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",
  "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"
}

 Init Payment Response Body Parameters | Sofort

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 EUR and 20 cents. EUR only.2575
order: currencystringOrder currency (3 letter code under ISO 4217)EUR
order: statusstringOrder status. The order may have intermediate settle_pending status before it is transferred to the approved status. The probability of the order moving from settle_pending to approved is 99.5%+, which can serve as a trigger for deliver the goods to the customer.created
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

Init Payment Response Sample | Sofort

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

SolidGate Init-Payment Giropay

Operation of order initiating. 

This operation creates an order in the system and returns a redirect URL. You should redirect the end-user to this URL and they are then redirected to a Giropay bank selection page where they can select their bank before being redirected to that bank's page to enter their authorization details. If successful, the payment can be approved.

The current workflow with Giropay is as follows:

  1. The user selects Giropay and chooses their bank;
  2. The customer is redirected to their bank's login page;
  3. The participating bank displays the transaction data;
  4. The customer enters the account number or PIN;
  5. The bank authorizes the transaction in real time and deducts the amount directly from the consumer's account (if the balance is insufficient, the transaction is declined);
  6. The merchant receives real-time confirmation of the payment from the bank;
  7. The customer is redirected back to the merchant site and receives a confirmation that the payment was successful.

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

  Init Payment Request Body Parameters | Giropay

ParameterMandatoryTypeDescriptionValue sample
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 EUR and 20 cents. EUR only.1020
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217EUR
payment_methodNoStringPayment method — giropayGiropay
payment_type_dataNoObjectObject with payment type data 
payment_type_data:phoneNoStringPhone number380000000000
customer_account_idNoStringCustomer ID in the merchant's system4dad42f808
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_countryNoString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. This field is deprecated, instead of geo_country use billing_address:countryGBR
geo_cityNoStringCustomer city. This field is deprecated, instead of geo_city use billing_address: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_descriptionYesString(100)Order description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
return_urlNoStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlNoStringURL of merchant page, to which a customer will be redirected after success paymenthttp://merchant.example/success
fail_urlNoStringURL of merchant page, to which a customer will be redirected after unsuccess paymenthttp://merchant.example/fail

Init Payment Request Sample | Giropay

{
  "amount": 2575,
  "payment_method": "giropay",
  "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",
  "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"
}

 Init Payment Response Body Parameters | Giropay

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 EUR and 20 cents. EUR only.2575
order: currencystringOrder currency (3 letter code under ISO 4217)EUR
order: statusstringOrder status. The order may have intermediate settle_pending status before it is transferred to the approved status. The probability of the order moving from settle_pending to approved is 99.5%+, which can serve as a trigger for deliver the goods to the customer.created
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

Init Payment Response Sample | Giropay

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

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 EUR and 20 cents.  For example, if the currency is JPY, then 1000 means 1000 JPY.1020
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217
EUR only
EUR
payment_methodNoStringPayment method — idealideal
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 system4dad42f808
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_countryNoString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. This field is deprecated, instead of geo_country use billing_address:countryGBR
geo_cityNoStringCustomer city. This field is deprecated, instead of geo_city use billing_address: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_descriptionYesString(100)Order description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - application.WEB
return_urlNoStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlNoStringURL of merchant page, to which a customer will be redirected after success paymenthttp://merchant.example/success
fail_urlNoStringURL 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"
  },
  "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",
  "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, 2575 means 25 USD and 75 cents.  For example, if the currency is JPY, then 1000 means 1000 JPY.2575
order: currencyStringOrder currency (3 letter code under ISO 4217)
EUR only
EUR
order: statusStringOrder status. The order may have intermediate settle_pending status before it is transferred to the approved status. The probability of the order moving from settle_pending to approved is 99.5%+, which can serve as a trigger for deliver the goods to the customer.created
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"
  } 
}

List of available BIC providers

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

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 Body 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 Body Parameters

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 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.2575
order: currencystringOrder currency. 3 letter currency code under ISO-4217NGN
order: statusstringOrder 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: idstringTransaction ID123456789
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": [
    {
     "id": "123456789",
     "status": "approved",
      "method": "solid-cards",
      "amount": 2575,
      "currency": "NGN",
      "type": "pay"
    },
    {
     "id":"012345678"
      "status": "refunded",
      "method": "solid-cards",
      "amount": 2575,
      "currency": "NGN",
      "type": "refund"
    }
  ]
}

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"
}

 Response Body Parameters | Success

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 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.2575
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: idstringTransaction ID123456789
transactions: statusstringTransaction statusapproved
transactions: methodstringTransaction Payment methodsolid-cards
transactions: amountintegerTransaction amount1500
transactions: currencystringTransaction currencyNGN
transactions: typestringType of transactionpay

Response Body 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": [
    {
      "id": "123456789",
      "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 Body Parameters

ParameterMandatoryTypeDescriptionValue sample
amountYesintegerOrder amount - integer without fractional component (i.e., cents). For instance, 1020 means 10 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.1020
currencyYesstring(3)Order currency. 3 letter currency code under ISO-4217USD
payment_methodNostring(255)Payment method ( "paypal-vault", "mercadopago", "sepa")paypal-vault
tokenYesstring(255)Card token that can be used for future transactions afsdgrg34g34g34g34g
customer_account_idNostring(100)Customer ID in the merchant's system4dad42f808
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 format. This field is deprecated, instead of geo_country use billing_address:countryGBR
geo_cityNostring(100)Customer city. This field is deprecated, instead of geo_city use billing_address: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(100)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
return_urlNostring(255)URL of merchant page, which a customer will be redirected after completed paymenthttp://merchant.example/return
success_urlNostring(255)URL of merchant page, to which a customer will be redirected after success paymenthttp://merchant.example/success
fail_urlNostring(255)URL of merchant page, to which a customer will be redirected after unsuccess paymenthttp://merchant.example/fail

Request sample

{
  "amount": 2575,
  "payment_method": "paypal-vault",
  "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",
  "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"
}

 Response Body Parameters | Success

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 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.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

Response Body Sample | Success

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

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 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.1000
currencyYesstring(3)Order currency. 3 letter currency code under ISO-4217BRL
customer_account_idNostringCustomer ID in the merchant's system4dad42f808
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 format. This field is deprecated, instead of geo_country use billing_address:countryBRA
geo_cityNostringCustomer city. This field is deprecated, instead of geo_city use billing_address: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_descriptionYesstring(100)Order 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:brazil_cpfYesstringCPF - individual taxpayer registry identification, a number attributed by the Brazilian Federal Revenue42243309114
payment_methodYesstringPayment methodboleto
payment_method_flowNostringThe parameter specifies the interaction process according to this method. If the field is not specified, the process available in the method is used. Value: redirect (flow to get a link to redirect the user) or direct (flow to get the data to generate the payment page on its side).direct
return_urlNostringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlNostringURL of merchant page, to which a customer will be redirected after success paymenthttp://merchant.example/success
fail_urlNostringURL of merchant page, to which a customer will be redirected after unsuccess paymenthttp://merchant.example/fail

Request Body 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",
  "ip_address": "8.8.8.8",
  "language": "en",
  "order_description": "test",
  "order_id": "1567491958095widget",
  "order_items": "order_items",
  "platform": "WEB",
  "payment_method": "boleto",
  "payment_method_flow": "direct",
  "payment_type_data": {
    "brazil_cpf": "42243309114"
  }
}

 Response Body Parameters | Success

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. For example, if the currency is JPY, then 1000 means 1000 JPY.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
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: idstringTransaction ID123456789
transactions: statusstringTransaction statusprocessing
transactions: methodstringTransaction methodboleto
transactions: amountintegerTransaction amount2500
transactions: currencystringTransaction currencyBRL
transactions: typestringType of transactionpay

Response Body Sample | Success

{
  "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": [
    {
      "id": "123456789",
      "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 Body 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"
  }
}

 Response Body Parameters

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 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.2575
order: currencystringOrder currency. 3 letter currency code under ISO-4217BRL
order: statusstringOrder 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: idstringTransaction ID123456789
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

Response Sample | Success

{
  "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": [
    {
      "id": "123456789",
      "status": "success",
      "method": "boleto",
      "amount": 2575,
      "currency": "BRL",
      "type": "pay"
    },
    {
      "id": "012345678"
      "status": "success",
      "method": "boleto",
      "amount": 2575,
      "currency": "BRL",
      "type": "refund"
    }
  ]
}

SolidGate - OXXO

/media/42/download/OXXO_big.png?v=1&inline=0

The payment method OXXO gives you access to the redirect solution. The API returns a return_url, for redirection of the user to a Solid-hosted page. The user will be able to see the ticket to pay or print it.

During using the Redirect method, the payment will have the "status = Pending" until the user pays the ticket, and Solid gets notified about it.

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

 Request Body Parameters | OXXO

ParameterMandatoryTypeDescriptionValue sample
order_idYesStringOrder ID specified in merchant system123443334
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.1020
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217MXN
payment_methodYesStringPayment method — "OXXO"OXXO
payment_type_dataYesobjectObject with information about the payment 
payment_type_data:mexico_curpYesStringUnique Population Registry CodeZAZD801124MBSYQN13
customer_emailYesStringCustomer emailjondou@gmail.com
ip_addressYesStringCustomer IP (only public ones)8.8.8.8
order_descriptionYesString(100)Order description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB - desktop, MOB - mobile version, APP - applicationWEB
geo_countryYesString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. This field is deprecated, instead of geo_country use billing_address:countryMEX

Request Sample | OXXO

{
"order_id": "123443334",
"amount": 1020,
"currency": "MXN",
"payment_method": "OXXO",
"payment_type_data": {
"mexico_curp": "ZAZD801124MBSYQN13",
},
"customer_email": "jondou@gmail.com",
"ip_address": "8.8.8.8",
"order_description": "Premium package",
"platform": "WEB"
}

 Response Body Parameters | OXXO

ParameterTypeDescriptionValue sample
orderobjectObject with information about the order 
order: order_idstringOrder ID specified in merchant system123443334
order: amountintegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.1020
order: currencystringOrder currency. 3 letter currency code under ISO-4217MXN
order: statusstringOrder statusprocessing
order: methodstringPayment methodOXXO
order: customer_emailStringCustomer emailjondou@gmail.com
order: ip_addressStringCustomer IP (only public ones)8.8.8.8
order: order_descriptionStringOrder description in UTF-8 codePremium package
order: created_atStringDate of payment creation2021-11-02 14:27:53
order: updated_atStringDate of payment update2021-11-02 14:27:54
transactionsobject  
transactions: idstringTransaction ID123456789
transactions: statusstringTransaction statusprocessing
transactions: methodstringPayment methodsolid-cards
transactions: amountstringOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents.1020
transactions: currencystringOrder currency. 3 letter currency code under ISO-4217MXN
transactions: typestringType of transactionpay
transactions: created_atstringTransaction created DateTime2021-11-02 14:27:53
return_urlstringreturn_url is used to redirect the user to a Solid-hosted pagehttps://solid.return_url.com

Response Sample | OXXO

{
order":
"amount": 1020,
"currency": "MXN",
"order_id": "123443334",
"status": "processing",
"method": "oxxo",
"customer_email": "jondou@gmail.com",
"ip_address": "8.8.8.8",
"order_description": "Premium package",
"created_at": "2021-11-02 14:27:53",
"updated_at": "2021-11-02 14:27:54",
"transactions": [
"id": "123456789",
"status": "processing",
"method": "oxxo",
"amount": 1020,
"currency": "MXN",
"type": "pay",
"created_at": "2021-11-02 14:27:53",
"return_url": "https://solid.return_url.com",
]
}

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 Body 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 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.2575
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: idstringTransaction ID123456789
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

Request Sample | Success

{
  "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"
    }
  ]
}

SolidGate Init-Payment M-PESA

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 Body Parameters | M-PESA

ParameterMandatoryTypeDescriptionValue sample
order_idYesStringOrder ID specified in merchant system4762dc9
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 5020 means 50 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.5020
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217KES
customer_phoneYesStringCustomer telephone (Mandatory for KEN)254426327283
customer_emailYesStringCustomer emailjohn-snow@gmail.com
payment_methodNoStringPayment method — "mpesa"mpesa
ip_addressYesStringCustomer IP (only public ones)8.8.8.8
order_descriptionYesString(100)Order description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
geo_countryYesString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. This field is deprecated, instead of geo_country use billing_address:countryKEN
customer_first_nameNoStringCustomer's first nameJohn
customer_last_nameNoStringCustomer last nameSnow

Reuest Sample | M-PESA

{
order_id: "4762dc9",
amount: 5020,
currency: "KES",
customer_phone: "254754541123",
payment_method: "mpesa",
customer_email: "john-snow@gmail.com",
ip_address: "8.8.8.8",
order_description: "Premium package",
platform: "WEB",
customer_first_name: "John",
customer_last_name: "Snow"
}

 Response Body Parameters | M-PESA

ParameterTypeDescriptionValue sample
payment_type_dataobjectObject with information about the payment dataYour customers could complete payments in two ways. First method — pop-up message on phone. The second way — manual one. 
* See more information under the table. *
orderobjectObject with information about the order 
order: order_idstringOrder ID specified in merchant system4762dc9
order: amountintegerOrder amount - integer without fractional component (i.e cents). For instance, 5020 means 50 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.5020
order: currencystringOrder currency. 3 letter currency code under ISO-4217KES
order: statusstringOrder statusrefunded
order: methodstringPayment methodsolid-cards
order: customer_emailstringCustomer emailjohn-snow@gmail.com
order: ip_addressstringCustomer IP (only public ones)8.8.8.8
order: order_descriptionstringOrder description in UTF-8 codePremium package
order: created_atstringDate of payment creation2021-10-06 11:26:45
order: updated_atstringDate of payment update2021-10-06 11:26:48
transactionsobjectObject with information about the transaction 
transactions: idstringTransaction ID123456789
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.5000
transactions: currencystringOrder currency. 3 letter currency code under ISO-4217KES
transactions: typestringType of transactionrefund
transactions: created_atstringTransaction created DateTime2021-10-06 11:26:45

* Your customers could complete payments in two ways.

First method — pop-up message on phone. A pop-up message will appear at a user device, and the user must complete verification by instruction from a pop-up. So the customer will receive an M-PESA prompt on his phone requesting him to enter M-PESA PIN to complete payment. Unfortunately, some phones don't support this flow.

The second way — manual one. For manual scenario, you should show the next message that you will receive with every transaction:
“You can also pay using Lipa na MPESA by using the following instructions:
1. Go to the M-PESA menu.
2. Select Lipa na M-PESA.
3. Select the Paybill option.
4. Enter business number 9****3.
5. Enter your account number R18****18.
6. Enter the amount — 10.
7. Enter PIN and press OK to send.
8. You will receive a confirmation SMS with your payment reference number.”

Response Sample

{
    payment_type_data: {
        instruction_html: "Dear Customer, Shortly you will receive an M-PESA prompt on your phone requesting you to enter your M-PESA PIN to complete your payment. Please ensure your phone is on and unlocked to enable you to complete the process. Thank you. You can also pay using Lipa na MPESA by using the following instructions: 1. Go to the M-PESA menu. 2. Select Lipa na M-PESA. 3. Select the Paybill option. 4. Enter business number 9****3. 5. Enter your account number R18****18. 6. Enter the amount — 10. 7. Enter PIN and press OK to send. 8. You will receive a confirmation SMS with your payment reference number."
    },
    order: {
        amount: 5000,
        currency: "KES",
        order_id: "4762dc9",
        status: "processing",
        method: "mpesa",
        customer_email: "john-snow@gmail.com",
        ip_address: "8.8.8.8",
        order_description: "order_description",
        created_at: "2021-10-06 11:26:45",
        updated_at: "2021-10-06 11:26:48"
    },
    transactions: [
        {
            id: "93865c0a-cee4-4d9e-9577-c650c3f34e91",
            status: "processing",
            method: "mpesa",
            amount: 5020,
            currency: "KES",
            type: "pay",
            created_at: "2021-10-06 11:26:45"
        }
    ]
}

SolidGate Init-Payment SEPA

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

 SEPA Request Body Parameters

ParameterMandatoryTypeDescriptionValue sample
payment_methodYesStringPayment methodsepa
payment_type_dataYesObjectObject with payment type data 
payment_type_data:ibanYesStringInternational Bank Account NumberDE52100100101234567892
customer_first_nameYesStringCustomer's first nameJohn
customer_last_nameYesStringCustomer last nameSnow
geo_countryNoString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. This field is deprecated, instead of geo_country use billing_address:countryGBR
geo_cityYesStringCustomer city. This field is deprecated, instead of geo_city use billing_address:cityNew Castle
zip_codeYesStringParameter for identifying a location. 10005
addressYesStringPayer AddressKyrilivska
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_idNoStringCustomer ID in the merchant's system4dad42f808
customer_date_of_birthNoStringCustomer birth date in format YYYY-MM-DD2000-11-21
customer_emailNoStringCustomer emailjondou@gmail.com
customer_phoneNoStringCustomer telephone 380111111111
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_descriptionYesString(100)Order description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
fail_urlNoString URL of merchant page, to which a customer will be redirected after unsuccessful paymenthttp://merchant.example/fail
return_urlNoStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlNoStringURL of merchant page, to which a customer will be redirected after successful paymenthttp://merchant.example/success

Successful Request Sample

{
  "order_id": "295",
  "amount": 1000,
  "currency": "EUR",
  "payment_method": "sepa",
  "order_description": "Premium package",
  "customer_email": "example.user@example-email.com",
  "customer_first_name": "Alex",
  "customer_last_name": "Show",
  "ip_address": "8.8.8.8",
  "platform": "WEB",
  "customer_account_id": 12,
  "return_url": "https://return.solidgate.com",
  "zip_code": "11111",
  "address": "Vashyngton str. 1",
  "payment_type_data": {
      "iban": "DE52100100101234567892"
  }
}

 SEPA Response Body Parameters

ParameterTypeDescriptionValue sample
orderObjectObject with information of the order  
order: amountIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.1020
order: currencyStringOrder currency (3 letter code under ISO 4217) USD
order: order_idStringOrder ID specified in merchant system 10918369953
order: statusStringOrder statuscreated
Others parameters * See Init Payment Response Body Parameters 

Successful Response Sample

{
  "order": {
    "amount": 1000,
    "currency": "EUR",
    "order_id": "295",
    "status": "processing",
    "method": "sepa",
    "token": "377fd15f056396919b1b2204803a9f6b5513541c9ee22fb298c92881614340a02a2c15a2e90b7683cb1974c9a3421bfd540c",
    "customer_email": "example.user@example-email.com",
    "ip_address": "8.8.8.8",
    "order_description": "Premium package",
    "created_at": "2021-11-22 16:40:49",
    "updated_at": "2021-11-22 16:40:50"
  },
  "transactions": [
    {
      "id": "e008b1be-7481-4c0c-8c27-f853d4ca33fb",
      "status": "processing",
      "method": "sepa",
      "amount": 1000,
      "currency": "EUR",
      "type": "pay",
      "created_at": "2021-11-22 16:40:49"
    }
  ]
}

If you want to test the different use cases for SEPA payment, please use the following test IBANs. These IBANs have a valid checksum and should be supplied when creating a new mandate.

 

    Test IBAN List (only for Sandbox accounts)

IBANDescription
DE09100100101234567890The customer's mandate and payment can't be set up because their bank details are invalid. Payment not accepted.
DE79100100101234567891The customer's payment is accepted, but not collected yet. The mandate is marked as activated. The payment will remain on Status 1 (accepted).
DE52100100101234567892The customer's payment is accepted but then canceled before collection. The mandate is marked as activated. The payment is marked as Status 1 (accepted), then Status 2 (canceled).
DE25100100101234567893The customer's payment is collected successfully and paid out to you. The mandate is marked as activated. The payment is marked as Status 1 (accepted), then Status 3 (paid).
DE95100100101234567894The customer’s payment is provided to the bank successfully but is then charged back due to a request by a merchant. The mandate is marked as activated. The payment is marked as Status 1 (accepted), then Status 3 (paid). Finally, the payment is marked as Status 4 (charge-back) with Token (RFND).
DE68100100101234567895The customer's payment is collected successfully but is then charged back by the customer disputing it with their bank (actively initiated by the customer). The mandate is marked as activated. The payment is marked as status 1 (accepted), then status 3 (paid). Finally, the payment is marked as status 4 (chargeback) with the token (ACT).
DE41100100101234567896The customer's payment is provided to the bank successfully but is then charged back by their bank due to no sufficient funds. The mandate is marked as activated. The payment is marked as Status 1 (accepted), then Status 3 (paid). Finally, the payment is marked as Status 4 (chargeback) with Token (NSF).
DE14100100101234567897The customer's payment is provided to the bank successfully but is then charged back by the bank due to other reasons (no bank account, saving account). The mandate is marked as activated. The payment is marked as Status 1 (accepted), then Status 3 (paid). Finally, the payment is marked as Status 4 (chargeback) with Token (OTHR).
DE84100100101234567898The customer's payment is provided to the bank successfully but is then charged back by the bank due to format errors. The mandate is marked as activated. The payment is marked as Status 1 (accepted), then Status 3 (paid). Finally, the payment is marked as Status 4 (chargeback) with Token (FRM).

SolidGate Przelewy24

Operation of order initiating.

This operation creates an order in the system and returns a redirect URL. You should redirect the end-user to this URL.

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

Przelewy24 request parameters

ParameterMandatoryTypeDescriptionValue sample
payment_methodYesStringPayment methodprzelewy24
customer_first_nameYesStringCustomer's first nameJohn
customer_last_nameYesStringCustomer last nameSnow
geo_countryYesString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. This field is deprecated, instead of geo_country use billing_address:countryPOL
geo_cityNoStringCustomer city. This field is deprecated, instead of geo_city use billing_address:cityWarsaw
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.100
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217PLN
customer_account_idNoStringCustomer ID in the merchant's system.0101010
customer_date_of_birthNoStringCustomer birth date in format YYYY-MM-DD1996-11-21
customer_emailYesStringCustomer emailjohn.user@example-email.com
customer_phoneNoStringCustomer telephone 380661111222
ip_addressYesStringCustomer IP (only public ones)8.8.8.8
languageNoString(2)Customer language settings. en
order_idYesStringOrder ID specified in merchant system12313423424
order_dateNoStringDate of order creation in format YYYY-MM-DD-HH-MM-SS2022-05-02 11:21:30
order_descriptionYesString(100)Order description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
fail_urlNoString URL of merchant page, to which a customer will be redirected after unsuccessful paymenthttp://merchant.example/fail
return_urlNoStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlNoStringURL of merchant page, to which a customer will be redirected after successful paymenthttp://merchant.example/success

Successful Request Sample

{
  "amount": 100,
  "currency": "PLN",
  "payment_method": "przelewy24",
  "customer_account_id": "0101010",
  "customer_date_of_birth": "1996-11-21",
  "customer_email": "john.user@example-email.com",
  "customer_first_name": "John",
  "customer_last_name": "Snow",
  "customer_phone": "380661111222",
  "ip_address": "8.8.8.8",
  "language": "en",
  "order_id": "113234324535345",
  "order_date": "2022-05-02",
  "order_description": "test",
  "platform": "WEB"
}

 Przelewy24 response parameters

ParameterTypeDescriptionValue sample
orderObjectObject with information of the order  
order: amountIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents 100
order: currencyStringOrder currency (3 letter code under ISO 4217) PLN
order: order_idStringOrder ID specified in merchant system 1657436866422
order: statusStringOrder statusprocessing
pay_formObjectObject with information about Redirect_URL 
pay_form: return_url StringURL of merchant page, to which a customer will be redirected to complete a paymenthttps://example.com/pay_form_url 
Others parameters * See Init Payment Response Body Parameters 

Successful Response Sample

{
    "order": {
        "amount": 100,
        "currency": "PLN",
        "order_id": "1657436866422",
        "status": "processing",
        "method": "przelewy24",
        "customer_email": "john.user@example-email.com",
        "ip_address": "8.8.8.8",
        "order_description": "test",
        "created_at": "2022-05-30 12:17:49",
        "updated_at": "2022-05-30 12:17:53"
    },
    "pay_form": {
        "return_url": "https://example.com/pay_form_url"
    }
}

SolidGate Blik

/media/45/download/blik.png?v=1&inline=0

Operation of order initiating.

This operation creates an order in the system and returns a redirect URL. You should redirect the end-user to this URL.

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

Blik request parameters

ParameterMandatoryTypeDescriptionValue sample
payment_methodYesStringPayment methodblik
customer_first_nameYesStringCustomer's first nameJohn
customer_last_nameYesStringCustomer last nameSnow
geo_countryYesString(3)Customer country. Code shall be in ISO 3166-1 alpha-3 format. This field is deprecated, instead of geo_country use billing_address:countryPOL
geo_cityNoStringCustomer city. This field is deprecated, instead of geo_city use billing_address:cityWarsaw
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.189798
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217PLN
customer_account_idNoStringCustomer ID in the merchant's system.01010102
customer_date_of_birthNoStringCustomer birth date in format YYYY-MM-DD1996-11-21
customer_emailYesStringCustomer emailjohn.user@example-email.com
customer_phoneNoStringCustomer telephone 380661111222
ip_addressYesStringCustomer IP (only public ones)8.8.8.8
languageNoString(2)Customer language settings. en
order_idYesStringOrder ID specified in merchant system12313423424
order_dateNoStringDate of order creation in format YYYY-MM-DD-HH-MM-SS2022-05-02 11:21:30
order_descriptionYesString(100)Order description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
fail_urlNoString URL of merchant page, to which a customer will be redirected after unsuccessful paymenthttp://merchant.example/fail
return_urlNoStringURL of merchant page, to which a customer will be redirected after payment is completehttp://merchant.example/return
success_urlNoStringURL of merchant page, to which a customer will be redirected after successful paymenthttp://merchant.example/success

Successful Request Sample

{
  "amount": 189798,
  "currency": "PLN",
  "payment_method": "blik",
  "customer_account_id": "01010102",
  "customer_date_of_birth": "1996-11-21",
  "customer_email": "john.user@example-email.com",
  "customer_first_name": "John",
  "customer_last_name": "Snow",
  "customer_phone": "380661111222",
  "ip_address": "8.8.8.8",
  "language": "en",
  "order_id": "123456789",
  "order_date": "2022-05-02",
  "order_description": "test",
  "platform": "WEB"
}

 Blik response parameters

ParameterTypeDescriptionValue sample
orderObjectObject with information of the order  
order: amountIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.189798
order: currencyStringOrder currency (3 letter code under ISO 4217) PLN
order: order_idStringOrder ID specified in merchant system 1653981009694
order: statusStringOrder statusprocessing
pay_formObjectObject with information about Redirect_URL 
pay_form: return_url StringURL of merchant page, to which a customer will be redirected to complete a paymenthttps://example.com/pay_form_url 
Others parameters * See Init Payment Response Body Parameters 

Successful Response Sample

{
  "order": {
        "amount": 189798,
        "currency": "PLN",
        "order_id": "1653981009694",
        "status": "processing",
        "method": "blik",
        "customer_email": "john.user@example-email.com",
        "ip_address": "8.8.8.8",
        "order_description": "test",
        "created_at": "2022-05-31 07:10:12",
        "updated_at": "2022-05-31 07:10:12"
    },
    "pay_form": {
        "return_url": "https://example.com/pay_form_url"
    }
}
   

SolidGate Mercado Pago

Operation of order initiating.

This operation creates an order in the system and returns a redirect URL. You should redirect the end-user to this URL.

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

Mercado Pago request parameters

ParameterMandatoryTypeDescriptionValue sample
payment_methodYesStringPayment methodmercadopago
customer_first_nameYesStringCustomer's first nameJohn
customer_last_nameYesStringCustomer last nameSnow
amountYesIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.189798
currencyYesString(3)Order currency. 3 letter currency code under ISO-4217BRL
customer_emailYesStringCustomer emailjohn.user@example-email.com
ip_addressYesStringCustomer IP (only public ones)8.8.8.8
order_id YesStringOrder ID specified in merchant system12313423424
order_descriptionYesString(100)Order description in UTF-8 codePremium package
platformYesStringCustomer platform at the moment of payment. Available values: WEB- desktop, MOB - mobile version, APP - applicationWEB
product_idNoString(36)The ID of the predefined product. Required for subscription payments. 
customer_account_idNoString(100)Customer ID in the merchant's system. Required for subscription payments. 
fail_urlNoString URL of merchant page, to which a customer will be redirected after an unsuccessful paymenthttp://merchant.example/fail
success_urlNoStringURL of merchant page, to which a customer will be redirected after successful paymenthttp://merchant.example/success
billing_addressYesObjectThe billing address of the user 
billing_address:countryYesString(3)ISO country code of the country that was sent in the requestBRA
payment_type_dataYesobjectObject with payment type data 
payment_type_data:{value}YesstringSpecify the value that belongs to the user's country.
For example:
BRA — brazil_cpf
ARG — argentina_dni, etc

More information — https://dev.solidgate.com/developers/documentation/Information#payment-type-data
42243309114

Init Payment Request Sample | Mercado Pago

{
  "order_id": orderId,
  "amount": 100000,
  "currency": "BRL",  
  "payment_method": "mercadopago",
  "customer_email": "test@gmail.com",
  "ip_address": "177.54.145.230",
  "order_description": "order description",
  "platform": "WEB",
  "customer_first_name": "John",
  "customer_last_name": "Snow",
  "success_url": "https://example.com/?status=success",
  "fail_url": "https://example.com/?status=fail",
  "billing_address": {
     "country": "BRA"
  },
  "payment_type_data": {
      "brazil_cpf": "111111111111"
  }
}

Mercado Pago response parameters

ParameterTypeDescriptionValue sample
orderObjectObject with information of the order  
order: amountIntegerOrder amount - integer without fractional component (i.e cents). For instance, 1020 means 10 USD and 20 cents. For example, if the currency is JPY, then 1000 means 1000 JPY.100000
order: currencyStringOrder currency (3 letter code under ISO 4217) BRL
order: order_idStringOrder ID specified in merchant system 1653981009694
order: statusStringOrder statusprocessing
order: methodStringA method that is used for the subscription paymentmercadopago
order: customer_emailStringEmail of the customertest@gmail.com
order: ip_addressStringIP of the customer177.54.145.230
order: order_descriptionStringOrder description in UTF-8 codePremium package
order: created_atStringDate of payment creation2022-11-02 14:27:53
order: updated_atStringDate of payment update2022-11-02 14:27:54
pay_formObjectObject with information about Redirect_URL 
pay_form: return_url StringURL of payment method page, to which a customer will be redirected to complete a paymenthttps://example.com/pay_form_url 

Init Payment Response Sample | Mercado Pago

{
    "order": {
        "amount": 100,
        "currency": "BRL",
        "order_id": "test_1234567890",
        "status": "created",
        "method": "mercadopago",
        "customer_email": "test@gmail.com",
        "ip_address": "177.54.145.230",
        "order_description": "Test",
        "created_at": "2022-12-28 11:40:36",
        "updated_at": "2022-12-28 11:40:36"
    },
    "pay_form": {
        "return_url": "https://example.com/?return"
    }
}