With Solidgate Payment Page, you can create a payment page and share a URL to it with your customers or embed it on your website.
Payment Page supports payments via credit and debit cards, PayPal, Apple Pay, and Google Pay.
It is important to note that the list of currencies available for PayPal is limited.
In addition, the payment page is translated into five languages and automatically matches your customer’s preferred browser language. We will enable language selection directly on the payment page if we have defined a language other than English.
To get an URL to the payment page, you need to follow these steps:
A detailed description of each step is described below.
You can use our postman collection to generate a Payment Page link. You only need to pass the mandatory fields and your channel data.
The body includes two objects: order information and page customization. The mandatory body parameters are described in the following table.
Parameter | Type | Description | Example |
---|---|---|---|
order | object | Object with the information required to create an order in the Solidgate system. | |
order:order_id | string | Order ID specified in your system. Must be a unique value for your channel. | 13-gbj-e34-nf |
order:currency | string | The field is mandatory if you use the non-Subscription flow. | USD |
order:amount | integer | The field is mandatory if you use the non-Subscription flow. | 1000 |
order:product_id | string | The field is mandatory if you use the Subscription flow. ID of the predefined product | faf3b86a-1fe6-4ae5-84d4-ab0651d75db2 |
order:customer_account_id | string | The field is mandatory if you use the Subscription flow. Customer ID in the merchant's system. | 12345 |
order:order_description | string | The order description in your system and for bank processing. | Premium Package |
page_customization | object | Object with the required information to be displayed on the Payment Page. | |
page_customization:public_name | string | The shop name. It is possible to fill in the HUB Public Information section and after it is visible to customers on the Payment Page. | Public Name |
page_customization:order_title | string | The name of goods or services you sell; Is visible to customers on the Payment Page. The length must be between 1 and 101 symbols. | Order Title |
page_customization:order_description | string | Order description that appears on the Payment Page. The length must be between 1 and 401 symbols. | Order Description |
Additionally, in the HUB Public Information section you can define Channel Logo (JPEG, PNG, GIF up to 1024 kb).
You can also pass more order or/and page customization information, but these parameters are optional. The list of optional body parameters is described in the table below.
Parameter | Type | Description | Example |
---|---|---|---|
page_customization | object | Object with the required information to be displayed on the Payment Page. | |
page_customization:payment_methods | array | To generate a Payment Page with additional payment methods, must pass the method name in the Array. PayPal is now only available, and the field is required for this method. | paypal |
page_customization:back_url | string | The URL where the customer will be redirected in case of clicks the back button. Passing this parameter will add a back button on your payment and status pages. | https://solidgate.com |
page_customization:terms_url | string | The URL for the Merchant Terms & Conditions will be shown by the Terms and conditions button on the footer of the Payment Page. | https://solidgate.com/terms |
page_customization:button_font_color | string | The color of the font on the Pay Button. Please use HEX format. | #FFFFFF |
page_customization:button_color | string | The color of the Pay Button. Please use HEX format. | #FFFFFF |
page_customization:font_name | string | The font name on the Payment Page. Please, use the Google Font name. | Open Sans |
page_customization:is_cardholder_visible | boolean | Display the field cardholder on the payment page. If the field is accepted as true, it will be displayed. | true |
order | object | Object with the information required to create an order in the Solidgate system. | |
order:customer_email | string | Customer email | test@gmail.com |
order:customer_account_id | string | Customer ID in the merchant's system. Optional for non subscription flow | 1234user |
order:language | string | The payment page language. The customer can always switch the display to English. Available values: en, uk, es, pt, ru. | pt |
order:force3ds | boolean | Routing payments flag for 3DS flow (enabled by Solid account manager). | true |
order:type | string | Parameter for transaction authorization through a payment form. | auth |
order:settle_interval | integer | Time (in hours) when auto-settle should be done. Maximum value is 168 hours. | 36 |
order:order_number | integer | The number of payments by the customer. | 3 |
order:transaction_source | string | Source of transactions. | telegram |
order:verified | boolean | The flag of the verified customer on the shop side. | true |
order:retry_attempt | integer | Number of retry payment | 1 |
order:website | string | The website from which the transaction took place. | http://solidgate.com |
order:customer_phone | string | Customer telephone number | 4975123456789 |
order:customer_first_name | string | Customer first name | John |
order:customer_last_name | string | Customer last name | Snow |
order:customer_date_of_birth | string | Customer birth date in format YYYY-MM-DD | 2000-11-21 |
order:fraudulent | boolean | A customer was detected on the merchant end to be a suspicious | false |
order:order_date | string | The date of order creation | |
order:order_metadata | object | Metadata 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. | |
order:order_items | string | Order items | item1, item2 |
order:fail_url | string | Provide this URL if you want to redirect a customer on your own Fail Screen. Solidgate will turn customers to Solidgate Fail Screen if you do not provide the URL. | |
order:success_url | string | Provide this URL if you want to redirect a customer on your own Success Screen. Solidgate will turn customers to Solidgate Success Screen if you do not provide the URL. | |
order:traffic_source | string | Source of traffic | |
order:google_pay_allowed_auth_methods | array of strings | The array of allowed Google Pay authorization methods. | “PAN_ONLY”, “CRYPTOGRAM_3DS” |
The signature allows verifying whether the request is genuine on the Solidgate server. The signature is generated from the JSON body on your Backend.
The detailed process of generating the Solid Payment Form initialization signature is presented in the following article.
To authenticate to Solidgate API, you should add the following headers to each request:
To display PayPal on the payment page, you need to use API keys with “All” type. For more information about credential types, contact your Account manager.
To get a Payment Page URL, you need to make a POST request with the headers and body JSON to the Solidgate endpoint: https://payment-page.solidgate.com/api/v1/init
An example of a request with a minimum set of parameters to get a Payment Page URL is below.
{
"order": {
"currency": "EUR",
"amount": 1690,
"order_id": "135udhyu5-3h",
"order_description": "order_description",
"customer_email": "test@mail.com"
},
"page_customization": {
"public_name": "Shop Name",
"order_title": "Title Sample",
"order_description": "Order Description Sample"
}
}
As a response, you will receive the JSON with the URL and guid of the Payment Page link created.
{
"url": "https://payment-page.solidgate.com/Q6JgG72g7K",
"guid": "1b9a536f-57eb-4f79-9597-1319097882fa"
}
When a payment is completed using the Payment Page, Solidgate sends the webhook that you can use for fulfillment and reconciliation. For more information, see the guide for notifications.
You can also find the order completed by Payment Page in Solidgate HUB - home of your payments.
Payment Page Sample
Code | Currency | Locations |
---|---|---|
AUD | Australian Dollar | Australia, Christmas Island(CX), Cocos (Keeling) Islands(CC), Heard Island and McDonald Islands(HM), Kiribati(KI), Nauru(NR), Norfolk Island(NF), Tuvalu(TV) |
BRL** | Brazilian Real | Brazil |
CAD | Canadian Dollar | Canada |
CHF | Swiss Franc | Switzerland, Liechtenstein (LI) |
CZK | Czech Koruna | Czechia |
DKK | Danish Krone | Denmark, Faroe Islands (FO), Greenland (GL) |
EUR | Euro | Åland Islands (AX), European Union (EU), Andorra (AD), Austria (AT), Belgium (BE), Cyprus (CY), Estonia (EE), Finland (FI), France (FR), French Southern and Antarctic Lands (TF), Germany (DE), Greece (GR), Guadeloupe (GP), Ireland (IE), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), French Guiana (GF), Martinique (MQ), Mayotte (YT), Monaco (MC), Montenegro (ME), Netherlands (NL), Portugal (PT), Réunion (RE), Saint Barthélemy (BL), Saint Martin (MF), Saint Pierre and Miquelon (PM), San Marino (SM), Slovakia (SK), Slovenia (SI), Spain (ES), Vatican City (VA) |
GBP | Pound sterling | United Kingdom, Isle of Man (IM, see Manx pound), Jersey (JE, see Jersey pound), Guernsey (GG, see Guernsey pound), Tristan da Cunha (SH-TA) |
HKD | Hong Kong Dollar | Hong Kong |
HUF* | Hungarian Forint | Hungary (The number of digits after the decimal separator is absent. For instance, 1020 USD means 10 USD and 20 cents, then 1000 means 1000 HUF.) |
ILS | Israeli New Sheqel | Israel |
JPY* | Japanese Yen | Japan (The number of digits after the decimal separator is absent. For instance, 1020 USD means 10 USD and 20 cents, then 1000 means 1000 JPY.) |
MXN | Mexican Peso | Mexico |
MYR*** | Malaysian Ringgit | Malaysia |
NOK | Norwegian Krone | Norway, Svalbard and Jan Mayen (SJ), Bouvet Island (BV) |
NZD | New Zealand Dollar | New Zealand, Cook Islands (CK), Niue (NU), Pitcairn Islands (PN; see also Pitcairn Islands dollar), Tokelau (TK) |
PHP | Philippine Peso | Philippines |
PLN | Polish Złoty | Poland |
RUB | Russian Ruble | Russia |
SEK | Swedish Krona | Sweden |
SGD | Singapore Dollar | Singapore |
THB | Thai Baht | Thailand |
TWD* | New Taiwan Dollar | Taiwan (The number of digits after the decimal separator is absent. For instance, 1020 USD means 10 USD and 20 cents, then 1000 means 1000 TWD.) |
USD | United States Dollar | United States, American Samoa (AS), British Indian Ocean Territory (IO) (also uses GBP), British Virgin Islands (VG), Caribbean Netherlands (BQ – Bonaire, Sint Eustatius and Saba), Ecuador (EC), El Salvador (SV), Guam (GU), Marshall Islands (MH), Federated States of Micronesia (FM), Northern Mariana Islands (MP), Palau (PW), Panama (PA) (as well as Panamanian Balboa), Puerto Rico (PR), Timor-Leste (TL), Turks and Caicos Islands (TC), U.S. Virgin Islands (VI), United States Minor Outlying Islands (UM) |
* This currency does not support decimals. If you pass a decimal amount, an error occurs. **This currency is supported as a payment currency and a currency balance for in-country PayPal accounts only. If the receiver of funds is not from Brazil, then PayPal converts funds into the primary holding currency of the account with the applicable currency conversion rate. The currency conversion rate includes PayPal's applicable spread or fee. ***This currency is supported as a payment currency and a currency balance for in-country PayPal accounts only. |