General principles of interaction
Rules for forming a request:
- The encoding used — UTF-8.
- The names of all parameters that relate to the interaction between Platron and the merchant have a prefix pg_. All other parameters do not have it.
- In all monetary amounts:
- a dot is used to separate the fractional part.
- if the number is an integer, then indicating the fractional part is optional.
- the number of characters after the dot is no more than two.
- thousands are not separated by any signs.
- Any messages (requests and responses) between Platron and the merchant are signed.
Signature formation
Example of a call http://domain.com/path/to/script.php
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_salt>9imM909TH820jwk387</pg_salt>
<pg_t_param>value3</pg_t_param>
<pg_a_param>value1</pg_a_param>
<pg_z_param>
<pg_q_subparam>subvalue2</pg_q_subparam>
<pg_m_subparam>subvalue1</pg_m_subparam>
</pg_z_param>
<pg_b_param>value2</pg_b_param>
<pg_sig>a8a4d5a9188f24038a14a4d65c387bf7</pg_sig>
</request>
In this example pg_sig is calculated using the formula:
pg_sig = md5('script.php' + ';' + pg_a_param + ';' + pg_b_param + ';' + pg_salt + ';' + pg_t_param + ';' + pg_m_subparam + ';' + pg_q_subparam + ';' + secret_key);
If it was specified in the settings that secret_key is equal mypasskey, then after substituting the values you get:
pg_sig = md5('script.php;value1;value2;9imM909TH820jwk387;value3;subvalue1;subvalue2;mypasskey')
pg_sig = 'a8a4d5a9188f24038a14a4d65c387bf7'
To ensure security, all messages between Platron and third-party merchants are specially signed. To generate a signature, you must complete the following steps:
- Get the name of the script being called. Is this the part of the URL from the last slash “/" to the end or the question mark “?".
- Get all message parameters. If the message is in XML format, the parameters are taken from all nested tags in alphabetical order. Parameters with the same name are taken in the order in which they are present in the message.
- Get a random string pg_salt. This is a string consisting of an arbitrary number of numbers and letters of the Latin alphabet.
- Concatenate the resulting values with the separator “;". The concatenation order is as follows: script name, all message fields, pg_salt and payment password secret_key, which is set in the merchant settings.
- Calculate MD5-hash from the resulted string.
- Write the resulting MD5-hash as a hexadecimal string in lowercase 32 characters long (pg_sig).
- Add pg_sig parameter to request or response.
Any party may add additional parameters to a request or response that are not specified in the documentation. These parameters are also involved in the signature calculation.
If Platron cannot identify the merchant (merchant), so it does not know its secret key (secret_key), then the message is not signed and therefore pg_salt и pg_sig parameters are missing. In this case field pg_error_code, which contains the numeric error code, takes the value 101. To check the correctness of the signature formation, it is recommended to use a special tool in the personal account of the merchant: Verifying the signature to a request.
Direct interaction
When transferring complex structured data via GET, such as multidimensional arrays, the following recording format is used:
https://www.platron.ru/script.php?param_1=val1&m_2[subparam_1]=val2&m_2[subparam_2]=val3&m_3=val4
Example of xml request:
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_param1>value1</pg_param1>
<pg_param2>value2</pg_param2>
<pg_param3>value3</pg_param3>
</request>
Example of a successful response:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_status>ok</pg_status>
<pg_param1>value1</pg_param1>
<pg_param2>value2</pg_param2>
<pg_param3>value3</pg_param3>
</response>
Example of an error response:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>19imfwM909TH820jwk387</pg_salt>
<pg_status>error</pg_status>
<pg_error_code>200</pg_error_code>
<pg_error_description>amount not specified</pg_error_description>
<pg_sig>ccde41a4f425d124a23c3a53a3140bdc158ac</pg_sig>
</response>
There are three ways to transfer information directly between the merchant and Platron:
- GET method – data is transferred in parameters using the GET method.
- POST method – data is transferred in parameters using the POST method.
- Via XML – requests are transmitted using the POST method in a single parameter pg_xml:
Regardless of the method of forming the request (GET, POST or XML), the response is always given in XML format.
The response always contains the pg_status parameter, which indicates the result of the query execution. It takes the
value ok
if the request was successfully completed and
error
if an error occurred. In the latter case, the response will contain the following fields:
- pg_error_code – numeric error code (possible values are listed in the section Error code reference book)
- pg_error_description – error description (optional field).
Through the user's browser
Platron and the merchant can transfer information to each other at the same time as the control is transferred to the buyer. The transfer can take place by the buyer's action or automatically.
Transfer of information on the buyer's action
The transfer of buyer and information between Platron and the merchant is possible in the following ways::
- A link that leads to another site
- A form whose action redirects to another resource. The user presses the button himself.
Automatic transmission of information
Example of auto-submit form
<html>
<body onload="document.forms[0].submit()">
<form method="POST" action="https://www.platron.ru/payment.php">
<input type="hidden" name="pg_param1" value="value1"/>
<input type="hidden" name="pg_param2" value="value2"/>
<input type="hidden" name="pg_param3" value="value3"/>
<input type="hidden" name="pg_param4" value="value4"/>
</form>
</body>
</html>
Automatic transfer of buyer and information between Platron and the merchant is possible in the following ways:
- Using HTTP redirect 302 (Location header) - only for GET method.
- Automatic form submission. GET and POST methods are supported. The website provides the user with a page containing a form whose action redirects to another resource. The form contains only hidden fields and is automatically submitted on onload event, so the user does not see this page.
Merchant settings
Before you start working, you need to fill in the following merchant settings in Platron.
Parameter | Description |
---|---|
Merchant Name | The name of the merchant will be displayed on the pages of platron.ru when interacting with the buyer |
Merchant logo | The merchant logo will be displayed on the pages of platron.ru when interacting with the buyer |
Request Method | This parameter defines the method of data transfer when Platron directly requests your merchant. Possible values: GET, POST and XML. |
Check URL | URL of your merchant script that calls Platron to verify the possibility of making a payment. This is necessary to prevent payments for overdue orders (for example, if the booking period for tickets has expired). If you do not specify the URL of the verification script, the verification will not be performed.. |
Result URL | URL of your merchant script to which Platron sends payment results. If you do not specify the address of this script, the results will not be sent. |
Refund URL | URL of your merchant script to which Platron sends payment cancellation notifications. If you do not specify the address of this script, notifications will not be sent. |
Capture URL | URL of your merchant script to which Platron sends a notification about clearing of a bank card payment. If you do not specify the address of this script, notifications will not be sent. |
Success URL | The URL of your merchant script that the user is redirected to after a successful payment. |
Success URL Method | Possible values: GET, POST, AUTOGET, AUTOPOST. Depending on the selected value, the user is either shown a page on the platron.ru website and asked to click a button to return to the merchant's website (GET, POST), or it is automatically redirected back to the merchat's website without viewing this page (AUTOGET, AUTOPOST) |
Failure URL | URL of your merchant script, to which the user is redirected in case of unsuccessful payment. |
Failure URL Method | See Call Method Success URL |
State URL | URL of your merchant script, to which the user is redirected to wait for a response from the payment system. |
State URL Method | See Call Method Success URL |
Site URL | URL of your merchant script that the user can return to after creating an account. Used for offline PS (cash). |
To take an overpayment | In all payment systems where possible, Platron allows the client to pay only the exact amount that is expected of him. However, some payment systems, such as payment via bank transfer, do not allow you to prevent overpayment. This setting tells whether the merchant is ready to take on the overpayment. |
Send SMS notifications to the buyer | The setting is responsible for whether SMS notifications will be sent to the client about the transaction status (if the SMS notification service is enabled). By default the client is notified. |
Send email notifications to the buyer | The setting is responsible for whether notifications about the transaction status will be sent to the client via email. By default the client is notified. |
Payment password (secret_key) | It is used to protect the data transmitted by Platron to the merchant and the Platron merchant |
All specified parameters, except for merchant information and secret_key, can be redefined for each specific payment at the time of payment initialization.
List of PS
https://www.platron.ru/ps_list.php?pg_salt=123&pg_merchant_id=456&pg_amount=800.45&pg_currency=RUB&pg_sig=aec5f9d237952f83bd05c602d287098d
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_salt>123</pg_salt>
<pg_merchant_id>456</pg_merchant_id>
<pg_amount>800.45</pg_amount>
<pg_currency>RUB</pg_currency>
<pg_sig>aec5f9d237952f83bd05c602d287098d</pg_sig>
</request>
This method allows you to get information about available payment systems and final amounts taking into account commissions.
Request URL
https://www.platron.ru/ps_list.php
Request parameters
Required parameters are highlighted in bold
Parameter | Default value | Description |
---|---|---|
pg_merchant_id | (string[16]) merchant's ID | |
pg_amount | (decimal) the amount of the invoice in the merchant's system in currency pg_currency. | |
pg_currency | RUB | (string[3]) account currency |
pg_testing_mode | 0 | Flag, takes the value 0 or 1. For a detailed description, see the section Testing. |
pg_salt | Random string | |
pg_sig | Signature |
Response parameters
Example answer:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>9938745</pg_salt>
<pg_status>ok</pg_status>
<pg_payment_system>
<pg_name>MIXPLATMTS</pg_name>
<pg_description>Payment from a mobile phone account МТС</pg_description>
<pg_payment_scenario>offline</pg_payment_scenario>
<pg_amount_to_pay>808.67</pg_amount_to_pay>
<pg_amount_to_pay_currency>RUB</pg_amount_to_pay_currency>
<pg_category>mobile</pg_category>
</pg_payment_system>
<pg_payment_system>
<pg_name>CASH</pg_name>
<pg_description>Cash: Euroset, OSMP, Elecsnet</pg_description>
<pg_payment_scenario>offline</pg_payment_scenario>
<pg_amount_to_pay>830.00</pg_amount_to_pay>
<pg_amount_to_pay_currency>RUB</pg_amount_to_pay_currency>
<pg_category>cash</pg_category>
<pg_sub_payment_systems>
<pg_sub_payment_system>
<pg_sub_name>ELECSNET</pg_sub_name>
<pg_sub_description>Elecsnet</pg_sub_description>
</pg_sub_payment_system>
<pg_sub_payment_system>
<pg_sub_name>EUROSET</pg_sub_name>
<pg_sub_description>Евросеть</pg_sub_description>
</pg_sub_payment_system>
<pg_sub_payment_system>
<pg_sub_name>QIWI</pg_sub_name>
<pg_sub_description>QIWI</pg_sub_description>
</pg_sub_payment_system>
</pg_sub_payment_systems>
</pg_payment_system>
<pg_payment_system>
<pg_name>WEBMONEYRBANK</pg_name>
<pg_description>Система WebMoney</pg_description>
<pg_payment_scenario>online</pg_payment_scenario>
<pg_amount_to_pay>810.35</pg_amount_to_pay>
<pg_amount_to_pay_currency>RUB</pg_amount_to_pay_currency>
<pg_category>wallet</pg_category>
</pg_payment_system>
<pg_payment_system>
<pg_name>YANDEXMONEY</pg_name>
<pg_description>Yandex-money system</pg_description>
<pg_payment_scenario>online</pg_payment_scenario>
<pg_amount_to_pay>812.15</pg_amount_to_pay>
<pg_amount_to_pay_currency>RUB</pg_amount_to_pay_currency>
<pg_category>wallet</pg_category>
</pg_payment_system>
<pg_sig>73daf9d237952f56bd05c602d2878dc2</pg_sig>
</response>
The response tag contains a list of payment systems and a signature. The description of each payment system is located inside the pg_payment_system tag with a unique identifier in the pg_name attribute – the name of the payment system. Parameters can be returned for each system:
Parameter | Description |
---|---|
pg_name | (string[32]) payment system name |
pg_description | (string[256]) description of the system, can be shown to the user |
pg_payment_scenario | Payment acceptance scenario: offline or online |
pg_amount_to_pay | (decimal) the amount the user will pay |
pg_amount_to_pay_currency | the currency that the user will pay |
pg_category | Payment system category for convenient display of the list of PS on the merchant side. For possible values, see in section Handbook of payment systems and groups |
pg_required | (string[32]) name of the required parameter, if any. If there are several required parameters, each is displayed in a separate pg_required tag. |
pg_additional | (string[32]) Optional parameter similarly pg_required |
pg_sub_payment_systems | container for payment systems in the group |
pg_sub_name | (string[32]) name of the payment system in the group |
pg_sub_description | (string[256]) оdescription of the payment system in the group, can be shown to the user instead of or in addition to the pg_description of the payment system |
pg_salt | Random string |
pg_sig | Signature |
The response to the request is XML (in utf-8 encoding) containing a list of payment systems available for this merchant and their attributes. The attributes are the amount and currency of the payment, the name and description of the PS, as well as a list of additional pg_required parameters required for this PS. The response also contains a list of parameters that can be sent additionally for pg_additional payment systems.
Merchant must control the filling of these parameters. If a payment system is selected for which there is a mandatory parameter to fill in, but this parameter is not transmitted, then it will be requested from the buyer on the website www.platron.ru.
The list of payment systems in the response is sorted by the pg_name parameter, and within the group by pg_sub_name. If the payment system is a group of payment systems, then the list of payment systems included in the group is presented in the tag pg_sub_payment_systems.
An example of constructing a list for selecting a payment system can be seen on the website www.platron.ru, if you do not transmit the PS identifier when initializing the payment.
Initializing payment
Common
To create a payment transaction (initialize a payment), the merchant must perform two actions:
- transfer payment data to Platron
- transfer the buyer to the management of Platron
This can be done in two ways:
- transfer payment information through the user's browser, while at the same time the user goes to the Platron website.
- transfer the payment information directly to Platron, in response, receive the payment transaction ID and URL for subsequent redirection of the buyer, and then redirect the buyer to this URL.
In both cases, the composition of the transmitted data is completely identical, only the transmission method and response format differ.
Required parameters:
Parameter | Description |
---|---|
pg_merchant_id | Merchant ID in Platron. Issued upon connection. |
pg_amount | Payment amount in currency pg_currency |
pg_description | (string[1024]) Description of the product or service. Displayed to the buyer during the payment process. |
pg_salt | Random string |
pg_sig | Signature |
Optional parameters:
Parameter | Default value | Description |
---|---|---|
pg_order_id | (string[50]) The payment ID in the seller's system. It is recommended to maintain the uniqueness of this field. | |
pg_currency | RUB | (string[3]) The currency in which the amount is indicated. Possible options: RUB, USD, EUR. If the buyer chooses a payment method in another currency, the conversion is made at the Central Bank rate on the day of payment. For a full list of possible values, see the section Currency Handbook. |
pg_check_url | From the merchant settings Check URL | (string[1024]) URL for checking payment possibility. It is called before the payment, if the payment system provides such an opportunity. If the parameter is not specified, it is taken from the merchant settings. If the parameter is set to an empty line, then the possibility of payment is not checked. |
pg_result_url | From the merchant settings Result URL | (string[1024]) URL for notification of the payment result. It is called after the payment in case of success or failure. If the parameter is not specified, it is taken from the merchant settings. If the parameter is set to an empty string, Platron does not inform the merchant about the result of the payment. |
pg_refund_url | From the merchant settings Refund URL | (string[1024]) URL for notification about paymant cancellation. It is called after the payment in case of cancellation of the payment on the Platron or PS side. If the parameter is not specified, it is taken from the merchant settings. |
pg_capture_url | From the merchant settings Capture URL | (string[1024]) URL for a message about clearing a bank card payment. If the parameter is not specified, it is taken from the merchant settings. |
pg_request_method | From the merchant settings Request Method | (string[4]) GET, POST or XML – method of calling store scripts Check URL, Result URL, Refund URL, Capture URL to transfer information from the payment gate. |
pg_success_url | From the merchant settings Success URL | (string[1024]) url, to which the user is sent in case of successful payment (only for online system) |
pg_failure_url | From the merchant settings Failure URL | (string[1024]) url, to which the user is sent in case of unsuccessful payment (only for online system) |
pg_success_url_method | From the merchant settings Success URL Method | Possible values: GET, POST, AUTOGET, AUTOPOST. Depending on the selected value, the user is either shown a page on the website platron.ru and it is suggested to click the button to return to the merchant's website (GET, POST), or it is automatically redirected back to the merchant's website without viewing this page (AUTOGET, AUTOPOST) |
pg_failure_url_method | From the merchant settings Failure URL Method | See the method of calling Success URL |
pg_state_url | From the merchant settings State URL | (string[1024]) URL of the script on the store's website where the buyer is redirected to wait for a response from the payment system. |
pg_state_url_method | From the merchant settings State URL Method | See the method of calling URL |
pg_site_url | From the merchant settings Site URL | URL of the merchant's website to show the buyer a link that he can use to return to the merchant's website after creating an invoice. Used for offline PS (cash). |
pg_payment_system | ID of the selected PS or group of PS. Examples: webmoney yandexmoney EUROSET cyberplat CASH cash For a full list of possible values, see the section Handbook of payment systems and groups. This parameter is passed only if the payment system is selected on the seller's website. If the parameter is not specified, then the PS is selected on the website platron.ru[1] | |
pg_lifetime | 86400 (day) | The time in seconds during which the payment must be completed, otherwise the order during the payment Platron will refuse to process the payment system. This parameter is controlled by Platron and, if the payment system supports this feature, by the payment system. See Handbook of payment systems and groups. Minimum allowed value: 300 seconds (5 minutes). Maximum allowed value: 604800 seconds (7 days). In case of exceeding the boundary values, the minimum or maximum value will be assigned, respectively |
pg_user_phone | (int[14]) user phone (for Russia starting with digits 79..), necessary for identification of the buyer. If not specified, the choice will be offered to the user on the payment gateway website. | |
pg_need_phone_notification | 1 | The need to notify the client (if the service is connected) via SMS about the transaction status. 0 – do not notify. |
pg_user_contact_email | (string[100]) The user's contact email address. If specified, notifications about transaction status changes will be sent to this address. | |
pg_need_email_notification | 1 | Whether to notify the client (if the service is enabled) via email about the transaction status. 0 – do not notify. |
pg_user_ip | IPv4 customer address. Necessary for resolving controversial situations in case of suspected fraud. The parameter may not be transmitted when transmitting information through the user's browser; in this case, the IP from which the user went to the payment initialization page will be recorded. | |
pg_user_ipv6 | IPv6 customer address (if any). Necessary for resolving controversial situations in case of suspected fraud. The parameter may not be transmitted when transmitting information through the user's browser; in this case, the IP from which the user went to the payment initialization page will be recorded. | |
pg_postpone_payment | Create a deferred payment if «1» is passed in this parameter. In this case, the buyer will be redirected to a page with information that he has been sent a letter with a link to a page to continue the payment. If this parameter is present in the request, it must also be specified pg_user_contact_email, otherwise, the user will be redirected to clarify payment parameters, where he will be able to specify an email and try to postpone the payment again. | |
pg_language | ru | The language of payment pages on the Platron website and (if possible) payment systems. The value ru sets the Russian language, en – English. |
pg_testing_mode | From the merchant settings | Flag, takes the value 0 or 1. For a detailed description, see the section Testing. |
pg_recurring_start | 0 | Flag, takes the value 0 or 1. For a detailed description, see the section Recurring payments. |
pg_recurring_lifetime | The time during which the seller expects to use the recurring payment profile. The minimum allowed value is 1 (1 month). The maximum allowed value is 156 (13 years). If the boundary values are exceeded, the minimum or maximum value will be assigned, respectively. For a detailed description, see the section Recurring payments. | |
pg_items | Receipt positions for sending to OFD. The data format is the same as in the pg_items parameter in the request to send a receipt to the OFD. The service must be enabled, and you need to contact your manager for configuration. | |
Merchant parameters | You can pass arbitrary additional parameters whose names do not begin with pg_. All these parameters will be passed to pg_check_url, pg_result_url, pg_success_url, pg_failure_url. The names of the seller's additional parameters must be unique. |
Host-To-Host
When transferring data directly from a merchant to Platron, the merchant must send data to a URL
Request URL
https://www.platron.ru/init_payment.php
Response parameters
Example of response:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>ijoi894j4ik39lo9</pg_salt>
<pg_status>ok</pg_status>
<pg_payment_id>15826</pg_payment_id>
<pg_redirect_url>
https://www.platron.ru/payment_params.php?customer=ccaa41a4f425d124a23c3a53a3140bdc15826
</pg_redirect_url>
<pg_redirect_url_type>need data</pg_redirect_url_type>
<pg_sig>af8e41a4f425d124a23c3a53a3140bdc17ea0</pg_sig>
</response>
Response in case of error:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_status>error</pg_status>
<pg_error_code>101</pg_error_code>
<pg_error_description>Empty merchant</pg_error_description>
</response>
Parameter | Description |
---|---|
pg_payment_id | The unique identifier of the payment transaction in Platron. It serves as the key for all further work with the transaction. |
pg_redirect_url | The URL for redirecting the user. It can be like on the website www.platron.ru , and on the website of the payment system |
pg_redirect_url_type | The type of page that is being redirected to. Possible values: need data – dialogue with the buyer in order to clarify the parameters: payment system, phone number, required parameters for this payment system; payment system – a page on the payment system's website or a page with payment instructions through this payment system. The instructions page can be located as on the website platron.ru , and on the merchant's website. |
pg_salt | Random string |
pg_sig | Signature |
pg_error_code | Error code |
pg_error_description | Error description |
If the merchant receives a response with pg_redirect_url_type="need data", the merchant may not redirect the buyer to the received URL, but specify the missing parameters on its website. In this case, after clarifying the parameters and re -requesting the creation of a payment transaction, a new transaction will be created.
<?xml version="1.0" encoding="UTF-8"?>
<response>
<pg_salt>b54a5e50</pg_salt>
<pg_status>ok</pg_status>
<pg_payment_system>
<pg_name>CONNECTUMUSD</pg_name>
<pg_description>Оплата картой</pg_description>
<pg_payment_scenario>online</pg_payment_scenario>
<pg_amount_to_pay>1.09</pg_amount_to_pay>
<pg_amount_to_pay_currency>usd</pg_amount_to_pay_currency>
<pg_category>bankcard</pg_category>
<pg_additional source="merchant">pg_user_email</pg_additional>
<pg_additional source="merchant">pg_user_login</pg_additional>
</pg_payment_system>
<pg_sig>c7c1448d92cb00235a1206d1e46e6bad</pg_sig>
</response>
If the buyer needs to know any additional data in order to make a payment using a certain payment system , the response contains this data in the fields pg_required и pg_additional. The fields transmitted when making a payment through specific payment systems can be viewed in the section Handbook of additional PS parameters.
Through the user's browser
https://www.platron.ru/payment.php?pg_merchant_id=111&pg_amount=1000&pg_order_id=123&pg_check_url=http://www.shop.ru/check.php&pg_result_url=http://www.shop.ru/result.php&pg_success_url=http://www.shop.ru/thankyou.php&pg_failure_url=http://www.shop.ru/failed.php&pg_description=Ticket+SU1234+Moscow-Berlin+1+Jun+2008&custom_param1=gagaga&custom_param2=gugugu&pg_sig=af8e41a4f425d124a23c3a53a3140bdc17ea0
When transmitting information through the user's browser, the user must be transmitted using the POST or GET method.
Request URL
https://www.platron.ru/payment.php
In case of an error, an error message is displayed on the user's screen.
If merchant does not transmit all the parameters necessary to create a payment transaction (payment system, user's phone number and parameters necessary for the selected payment system), they are requested from the user on the website www.platron.ru
Recurring payments
Recurring payments are available:
- In the authorization-write-off scheme. The recurrent profile will be available only after clearing on the primary transactions
- In the authorization scheme, the recurrent profile will be available immediately after authorization.
To use the recurring payment profile, the store should initialize the payment in the usual way by passing the additional parameter pg_recurring_start, indicating the requirement to create a recurring profile and specifying a payment system that supports recurring payments in the parameter pg_payment_system (see Payment systems Handbook). The profile number for repeating the payment will be transmitted when notifying about the payment result in the parameter pg_recurring_profile. The seller can also define the validity period of the recurring profile (this parameter is optional and if not specified, the card expiration date will be used).If the pg_recurring_lifetime parameter specified by the seller exceeds the validity period of the card, then the validity period of the recurrent profile expires on the expiration date of the card. Before using recurring payments, you need to contact your manager to clarify the details.
Payment recurrence
https://www.platron.ru/make_recurring_payment.php?pg_merchant_id=82&pg_recurring_profile=109642&pg_description=example&pg_salt=my_salt&pg_sig=3fe59db16e24d78bfecfd8d72324b83c
Response
<?xml version="1.0" encoding="UTF-8"?>
<response>
<pg_salt>my_salt</pg_salt>
<pg_status>ok</pg_status>
<pg_payment_id>22241128</pg_payment_id>
<pg_amount>1</pg_amount>
<pg_currency>RUB</pg_currency>
<pg_recurring_profile_id>109642</pg_recurring_profile_id>
<pg_recurring_profile_expiry_date>2029-01-29 00:00:00</pg_recurring_profile_expiry_date>
<pg_sig>5b2ff43cfa1b7588e5844484f0843b11</pg_sig>
</response>
Merchant may repeat payments for a recurring profile at any time at its discretion.
Request URL
https://www.platron.ru/make_recurring_payment.php
Request parameters
Parameter | Default value | Description |
---|---|---|
pg_merchant_id | Merchant ID in Platron. Issued upon connection. | |
pg_order_id | The payment ID in the seller's system. It is recommended to maintain the uniqueness of this field. | |
pg_recurring_profile | ID of the recurrent profile. It was received by the seller when creating a recurring payment profile | |
pg_amount | The meaning of the initial payment | Payment amount in pg_currency. If no amount was passed, the amount for repeating the payment will be the value of the initial payment. |
pg_result_url | From the merchant settings Result URL | (string[256]) URL for the message about the payment result. It is called after the payment in case of success or failure. If the parameter is not specified, it is taken from the merchant settings. If the parameter is set to an empty line, Platron does not inform the store about the payment result. |
pg_refund_url | From the merchant settings Refund URL | (string[256]) URL for payment cancellation message. Called after payment in case of payment cancellation on the Platron or PS side. If the parameter is not specified, it is taken from the merchant settings. |
pg_request_method | From the merchant settings Request Method | (string[4]) GET, POST или XML – method for calling merchant scripts Check URL, Result URL, Refund URL, Capture URL to transmit information from the payment gate. |
pg_description | (string[1024]) Description of the product or service. Displayed to the buyer during the payment process. | |
Merchant parameters | You can pass arbitrary additional parameters whose names do not begin with pg_. All these parameters will be passed to pg_check_url, pg_result_url, pg_success_url, pg_failure_url. Additional seller parameter names must be unique. | |
pg_salt | Random string | |
pg_sig | Signature |
Platron will notify the seller about the result of the payment at Result URL
On schedule
For a recurring profile, you can specify a payment schedule. In this case, payments will be made automatically according to the specified schedule. You can specify the schedule either as a template or as a simple list of dates.
Creating a schedule
An example indicating a template.
For better readability, service characters are not escaped in the example.
https://www.platron.ru/index.php/api/recurring/set-schedule?pg_merchant_id=82&pg_recurring_profile=337146&pg_amount=21.23&pg_template[pg_start_date]=2018-08-15 15:30:00&pg_template[pg_interval]=week&pg_template[pg_period]=2&pg_template[pg_max_periods]=5&pg_salt=salt&pg_sig=5036eda9b1a31d5d8ed825c5d658ad43
<?xml version="1.0" encoding="UTF-8"?>
<request>
<pg_merchant_id>82</pg_merchant_id>
<pg_recurring_profile>337146</pg_recurring_profile>
<pg_amount>12.41</pg_amount>
<pg_template>
<pg_start_date>2018-08-15 15:30:00</pg_start_date>
<pg_interval>week</pg_interval>
<pg_period>2</pg_period>
<pg_max_periods>5</pg_max_periods>
</pg_template>
<pg_salt>salt</pg_salt>
<pg_sig>458a8161df06e21bcc6967c44e9965qw</pg_sig>
</request>
Example with a list of dates.
For better readability, service characters are not escaped in the example.
https://www.platron.ru/index.php/api/recurring/set-schedule?pg_merchant_id=82&pg_recurring_profile=337146&pg_amount=21.23&pg_dates[]=2018-08-15 14:00:00&pg_dates[]=2018-08-15 14:30:00&pg_dates[]=2018-08-15 15:00:00&pg_salt=salt&pg_sig=0d32e1bfb8795a7c2a7ff86973vct5er
<?xml version="1.0" encoding="UTF-8"?>
<request>
<pg_merchant_id>82</pg_merchant_id>
<pg_recurring_profile>337146</pg_recurring_profile>
<pg_amount>12.41</pg_amount>
<pg_dates>2018-08-15 14:00:00</pg_dates>
<pg_dates>2018-08-15 14:30:00</pg_dates>
<pg_dates>2018-08-15 15:00:00</pg_dates>
<pg_salt>salt</pg_salt>
<pg_sig>b71988a7cc47ae411d9292a0933944ac</pg_sig>
</request>
Request URL
https://www.platron.ru/index.php/api/recurring/set-schedule
Request parameters
Parameter | Description |
---|---|
pg_merchant_id | Merchant ID |
pg_recurring_profile | ID of the recurrent profile |
pg_amount | The amount of the recurring payment |
pg_template* | Template data (parameter description below) |
pg_dates* | List of dates in format YYYY-MM-DD HH:MM:SS |
pg_salt | Random string |
pg_sig | Signature |
*To create a schedule, you must specify either template data or a list of dates. If both template data and a list of dates are specified, the list of dates will be used to create the schedule.
Template Parameters (pg_template):
Parameter | Description |
---|---|
pg_start_date | Date and time of the first payment in the format YYYY-MM-DD HH:MM:SS |
pg_interval* | Interval. Possible values: day, week, month |
pg_period* | Period. |
pg_max_periods | Maximum number of payments. |
*The period is used in combination with the interval. For example, 1 month means once a month, 2 week means once every two weeks.
Response when the schedule is successfully created.
<?xml version="1.0" encoding="UTF-8"?>
<response>
<pg_status>ok</pg_status>
<pg_recurring_profile>337146</pg_recurring_profile>
<pg_salt>salt</pg_salt>
<pg_sig>a764fb36af2e607ee2e841989adr65ty</pg_sig>
</response>
Closing a recurring profile
It is necessary to delete the schedule in Platron, if it was created, and mark such a profile as closed in your accounting system.
Payment status
https://www.platron.ru/get_status.php?pg_salt=9865&pg_merchant_id=82&pg_payment_id=765432&pg_sig=a1b7ccc945c0a60949f6bd6383f5f768
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_salt>9865</pg_salt>
<pg_merchant_id>82</pg_merchant_id>
<pg_payment_id>765432</pg_payment_id>
<pg_sig>a1b7ccc945c0a60949f6bd6383f5f768</pg_sig>
</request>
The merchant may query Platron about the status of any payment initiated by the merchant. This can be useful, for example, if the Result URL call was not received by the merchant due to a temporary communication failure, and the customer was already transferred to the Success URL, but the transaction status is not yet known to the mechant.
Request URL
https://www.platron.ru/get_status.php
Request Parameters
All parameters are required
Parameter | Description |
---|---|
pg_merchant_id | Merchant ID |
pg_payment_id* | The payment ID in Platron. |
pg_order_id* | Payment ID in the merchant's system. |
pg_salt | Random string |
pg_sig | Signature |
*Either pg_payment_id or pg_order_id is required. In the case of pg_order_id, if it is not unique, information will be provided for the last payment with this order_id.
Response parameters
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>9865</pg_salt>
<pg_status>ok</pg_status>
<pg_payment_id>1234567</pg_payment_id>
<pg_transaction_status>ok</pg_transaction_status>
<pg_can_reject>1</pg_can_reject>
<pg_create_date>2009-01-12 10:22:30</pg_create_date>
<pg_result_date>2009-01-12 10:25:07</pg_result_date>
<pg_payment_system>RUSSIANSTANDARD</pg_payment_system>
<pg_card_brand>CA</pg_card_brand>
<pg_card_pan>527594******4984</pg_card_pan>
<pg_card_hash>022380c107141f7e11f4271d7f6412a715222c32</pg_card_hash>
<pg_auth_code>014318</pg_auth_code>
<pg_captured>0</pg_captured>
<pg_sig>8380d43c7719e6ce48da0c79aa7eb2ba</pg_sig>
<pg_qr_code>https://www.platron.ru/index.php/api/qr-code/getcustomer=c79a5520e313a8f836bb6fc17d0ffa7c3504513922
</pg_qr_code>
</response>
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>9865</pg_salt>
<pg_status>ok</pg_status>
<pg_payment_id>1234567</pg_payment_id>
<pg_transaction_status>pending</pg_transaction_status>
<pg_can_reject>1</pg_can_reject>
<pg_create_date>2009-01-12 10:22:30</pg_create_date>
<pg_accepted_payment_systems>EUROSET,EUROPLAT,QIWI</pg_accepted_payment_systems>
<pg_sig>8380d43c7719e6ce48da0c79aa7eb2ba</pg_sig>
<pg_qr_code>https://www.platron.ru/index.php/api/qr-code/getcustomer=c79a5520e313a8f836bb6fc17d0ffa7c3504513922
</pg_qr_code>
</response>
Parameter | Description |
---|---|
pg_status | The result of request processing (not to be confused with the payment status) is ok if the payment is found and actually belongs to this merchant, error in any other case. |
pg_payment_id | Internal payment ID in the Platron system |
pg_transaction_status | Transaction status. See Handbook of status transaction |
pg_can_reject | 0 or 1 – can a payment be cancelled. The value 1 is possible only if the payment status is ok and the payment system provides the ability to revoke the payment. In this case, merchant may cause revoke.php as described in the section Cancel invoice after payment |
pg_create_date | Date and time the payment transaction was created. |
pg_result_date | Date and time of successful (ok) or unsuccessful (failed) completion of the payment. This is the date the Result URL was called. The parameter is filled in only when the transaction status is ok, failed or revoked. |
pg_revoke_date | Date and time of payment cancellation. The parameter is filled in only when the transaction status is revoked. |
pg_payment_system | The ID of the payment system through which the payment has passed (must pass). |
pg_accepted_payment_systems | List of payment systems to which the payment was successfully submitted. Present if the payment status is pendind |
pg_card_brand | Card brand: CA – MasterCard and their products, VI – Visa, AX – AmericanExpress. This parameter is transmitted only in case of successful payment by bank card. |
pg_card_pan | Masked card number (part of the card number digits are hidden). This parameter is transmitted only in case of successful payment by bank card. |
pg_card_hash | Hashed card number (card number encrypted with an irreversible encryption algorithm). This parameter is transmitted only in case of successful payment by bank card. |
pg_auth_code | Authorization code. This parameter is transmitted only in case of successful payment by bank card. |
pg_captured | 0 or 1. It is transmitted only in case of successful payment by bank card and shows whether clearing was performed at the time of authorization (which depends only on the merchant settings). If the value of this parameter is 0, the store must subsequently issue a clearing command (see section Clearing) or wait for Platron to do it itself. |
pg_overpayment | The amount of overpayment in the currency of the payment system. The parameter is passed only if the client has paid more than expected, and overpayment is allowed in merchant settings. If exactly as much as expected was paid, or the transaction status is not ok, this parameter is not passed. |
pg_failure_code | Reason of failure code (For a list of codes and their descriptions, see the Failure Reasons Handbook). Present only if pg_transaction_status = failed or revoked. |
pg_failure_description | Description of the reason for payment failure. Transmitted in transaction language. This description is formulated in terms understandable to the user and can be communicated to him in any accessible way. Present only if pg_transaction_status = failed or revoked. |
pg_error_description | Description of the query execution error in case pg_status=error (not to be confused with failure payment) |
pg_salt | Random string |
pg_sig | Signature |
pg_qr_code | QR link for payment of the transaction |
All dates are written in the format YYYY-MM-DD hh:mm:ss.
Clearing
https://www.platron.ru/do_capture.php?pg_salt=123&pg_merchant_id=456&pg_payment_id=1234567&pg_sig=7f3af9d237952f56bd05c602d2879a3c
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_salt>123</pg_salt>
<pg_merchant_id>456</pg_merchant_id>
<pg_payment_id>1234567</pg_payment_id>
<pg_sig>7f3af9d237952f56bd05c602d2879a3c</pg_sig>
</request>
Merchant can independently request clearing from the bank via Platron if the bank is configured to process payments in two steps - authorization and clearing.
If the system is configured accordingly, after the transaction is carried out, the transaction will be authorized, but not calculated. The maximum authorization time is regulated on the Platron side and can be up to 5 calendar days. The possibility of setting up deferred clearing should be clarified with your supervising manager.
Request URL
https://www.platron.ru/do_capture.php
Request parameters
Parameter | Description |
---|---|
pg_merchant_id | Merchant id |
pg_payment_id | Payment id |
pg_long_record | Long entry, see additional documentation. It can be obtained from the technical department staff. |
pg_amount | Clearing amount. May be less than or equal to the authorization amount. If the amount is less than the authorization amount, a refund for the difference is created. |
pg_salt | Random string |
pg_sig | Signature |
Response parameters
E[ample of response
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>1111</pg_salt>
<pg_status>ok</pg_status>
<pg_clearing_refund_id>449312</pg_clearing_refund_id>
<pg_sig>c38ebf6a6b7f5e30316bc984dc69ce37</pg_sig>
</response>
Parameter | Description |
---|---|
pg_status | The result of request processing. ok if the request is accepted for processing. Based on the result, the Capture URL of merchant will be called. error in any other case. |
pg_error_description | Description of the error in case pg_status=error |
pg_clearing_refund_id | id of the return operation during clearing for an amount less than the authorization amount. Required to create a refund check for the difference between the authorization and clearing amounts |
pg_salt | Random string |
pg_sig | Signature |
Cancel payment
Before payment
https://www.platron.ru/cancel.php?pg_salt=123&pg_merchant_id=456&pg_payment_id=1234567&pg_sig=628e300c3204c8ee398d878a5109b520
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_salt>123</pg_salt>
<pg_merchant_id>456</pg_merchant_id>
<pg_payment_id>1234567</pg_payment_id>
<pg_sig>628e300c3204c8ee398d878a5109b520</pg_sig>
</request>
Merchant can cancel payment that has been issued but not yet paid. After this operation, Platron will refuse to process the payment at the stage of checking the possibility of making the payment. Cancellation of the payment on the payment system side is possible if such functionality is supported by it. (See Payment systems handbook))
Request URL
https://www.platron.ru/cancel.php
Request parameters
Parameter | Description |
---|---|
pg_merchant_id | Merchant id |
pg_payment_id | Payment id |
pg_salt | Random string |
pg_sig | Signature |
Response parameters
Example of response:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>9865</pg_salt>
<pg_status>ok</pg_status>
<pg_sig>48caf9d237952f56bd05c602d28762da</pg_sig>
</response>
In case of error:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>9865</pg_salt>
<pg_status>error</pg_status>
<pg_error_code>200</pg_error_code>
<pg_error_description>
transaction not found
</pg_error_description>
<pg_sig>ac08f9d237952f5bc4e5c602d2873481</pg_sig>
</response>
Parameter | Description |
---|---|
pg_status | The result of processing the request. |
pg_error_code | Error code |
pg_error_description | Description of the error cause |
pg_salt | Random string |
pg_sig | Signature |
The "ok" response means that the request to cancel the has been accepted. The invoice may still be paid if the PS to which the invoice was issued does not support invoice cancellation operations and does not make preliminary requests to confirm the possibility of making a payment.
If the PS does not support invoice cancellation, but supports refunds (e.g. TRANSCRED), Platron will attempt to cancel the received payment. In this case, an additional fee may be charged for the payment cancellation operation.
After payment
https://www.platron.ru/revoke.php?pg_salt=123&pg_merchant_id=456&pg_payment_id=1234567&pg_refund_amount=800&pg_description=возврат%20товара&pg_sig=6dd2a9d237952f56bd05c602d2872af8
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_salt>123</pg_salt>
<pg_merchant_id>456</pg_merchant_id>
<pg_payment_id>1234567</pg_payment_id>
<pg_refund_amount>800</pg_refund_amount>
<pg_sig>6dd2a9d237952f56bd05c602d2872af8</pg_sig>
</request>
Merchant can cancel a successfully completed payment if the payment system allows it (for example, Bank cards). In this case, the money is returned to the buyer. You can return either the full amount of the payment or part of the amount. You can make several partial refunds until the total amount of refunds reaches the amount of the original payment.
Request URL
https://www.platron.ru/revoke.php
Request Parameters
Parameter | Description |
---|---|
pg_merchant_id | Merchant id |
pg_payment_id | Payment id |
pg_refund_amount | The refund amount. If the parameter is omitted or 0 is passed, the entire amount is returned. |
pg_items | Receipt position for sending to OFD. The data format is the same as in the pg_items parameter in the request for sending a receipt to OFD. |
pg_salt | Random string |
pg_sig | Signature |
pg_description | Description. If this parameter is not specified, the default value is set: «from revoke.php» |
Response parameters
Example of response:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>9865</pg_salt>
<pg_status>ok</pg_status>
<pg_sig>48caf9d237952f56bd05c602d28762da</pg_sig>
</response>
In case of error:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>9865</pg_salt>
<pg_status>error</pg_status>
<pg_error_code>490</pg_error_code>
<pg_error_description>this transaction can’t be revoked</pg_error_description>
<pg_sig>4df0f9d237952f56bd05c602d2873ed0</pg_sig>
</response>
Parameter | Description |
---|---|
pg_status | The result of processing the request. ok if the request is accepted for processing. As a result, the Refund URL of merchant will be called. error in any other case. |
pg_error_code | Error code |
pg_error_description | Description of the error cause |
pg_salt | Random string |
pg_sig | Signature |
Receipts (ФЗ-54)
Before setting up, you need to contact the manager.
Creating a receipt
https://www.platron.ru/receipt.php?pg_merchant_id=123&pg_salt=your_salt&pg_sig=generated_sig&pg_operation_type=payment&pg_payment_id=payment_id&pg_additional_payment_amount=12.23&pg_additional_payment_type=credit&pg_customer_name=customer_name&pg_customer_inn=12345678901&pg_items[0][pg_label]=item1&pg_items[0][pg_price]=1.1&pg_items[0][pg_quantity]=2&pg_items[0][pg_vat]=20&pg_items[0][pg_type]=product&pg_items[0][pg_payment_type]=full_payment&pg_items[0][pg_agent_type]=agent&pg_items[0][pg_agent_name]=name&pg_items[0][pg_agent_inn]=12345678902&pg_items[0][pg_agent_phone]=79999999999
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_merchant_id>123</pg_merchant_id>
<pg_salt>your_salt</pg_salt>
<pg_sig>generated_sig</pg_sig>
<pg_operation_type>payment</pg_operation_type>
<pg_payment_id>payment_id</pg_payment_id>
<pg_additional_payment_amount>12.23</pg_additional_payment_amount>
<pg_additional_payment_type>credit</pg_additional_payment_type>
<pg_customer_name>customer_name</pg_customer_name>
<pg_customer_inn>12345678901</pg_customer_inn>
<pg_items>
<pg_label>item1</pg_label>
<pg_price>1.1</pg_price>
<pg_quantity>2</pg_quantity>
<pg_vat>20</pg_vat>
<pg_type>product</pg_type>
<pg_payment_type>full_payment</pg_payment_type>
<pg_agent_type>agent</pg_agent_type>
<pg_agent_name>name</pg_agent_name>
<pg_agent_inn>12345678902</pg_agent_inn>
<pg_agent_phone>79999999999</pg_agent_phone>
</pg_items>
</request>
It is necessary to generate data for the receipt immediately after creating the operation. The receipt will be sent to the OFD and the buyer only after the successful completion of the operation.
To be able to test the functionality, you need to contact the supervising manager.
If the payment is made in a foreign currency or a payment system is used that charges an additional fee in excess of the payment amount, the receipt must be issued after receiving a notification on the Result Url about the successful payment. This request does not work for refund requests and refunds without payment (moneyback) not linked to a transaction.
Request URL
https://www.platron.ru/receipt.php
Request Parameters
Parameter | Description |
---|---|
pg_merchant_id | Merchant id |
pg_operation_type | Type of operation (enum) payment — payment refund – refund via the moneyback API – payment |
pg_payment_id* | Payment transaction id (int) |
pg_order_id* | Mechantrder number |
pg_salt | Random string |
pg_sig | Signature |
pg_items | An array of items in the receipt. See the table below |
pg_customer_name | The buyer's name (string). It is filled in together with pg_customer_inn. Required only for certain merchants. |
pg_customer_inn | Сustomer's Taxpayer Identification Number (TIN) |
pg_additional_payment_type | Additional payment. Possible values: prepayment credit |
pg_additional_payment_amount | The amount of the additional payment. The parameter is required if the parameter is passed pg_additional_payment_type |
*Either pg_payment_id or pg_order_id is required. If pg_order_id is not unique, the receipt will be created for the last order.
Position parameters in the receipt:
Parameter | Description |
---|---|
pg_label | Product name (string) The maximum length is 128 characters |
pg_nomenclature_code | Product labeling by format (string) |
pg_price | The price of the product, including all discounts and extra charges (float, 2 decimal places) |
pg_quantity | Quantity (float) |
pg_vat | VAT rate. See possible values below. The default value is none |
pg_type | Type of service/product. See below for possible values. Default is product |
pg_payment_type | Payment method. See below for possible values. Default value is full_payment |
pg_agent_type | Payment agent type. See below for possible values. |
pg_agent_phone | Agent's phone number (digits only) |
pg_agent_name | Agent's name |
pg_agent_inn | Agent's TIN (numbers only) |
If at least one of the pg_agent parameters is passed, all remaining fields must be filled.
If the store does not need to pass additional parameters, no changes need to be made.
VAT rate | |
---|---|
0 | VAT rate 0% |
5* | VAT rate 5% |
7* | VAT rate 7% |
10 | VAT rate 10% |
20 | VAT rate 20% |
105* | VAT rate 5/105 |
107* | VAT rate 7/107 |
110 | VAT rate 10/110 |
120 | VAT rate 20/120 |
none | not subject to VAT |
* New VAT rates are available from 01.01.2025. Before using them, you need to make sure that your online cash register supports them.
Type of service/product | |
---|---|
product | product, except excisable product |
product_practical | excisable product |
work | work |
service | service |
gambling_bet | accepting bets when carrying out gambling activities |
gambling_win | payment of funds in the form of winnings in the implementation of gambling activities |
lottery_bet | acceptance of funds from the sale of lottery tickets, electronic lottery tickets, acceptance of lottery bets when carrying out activities related to lotteries |
lottery_win | about the payment of funds in the form of winnings in the implementation of lottery activities |
rid | granting rights to use the results of intellectual activity or means of individualization "GRANTING OF RID" or "RID" |
payment | about the advance payment, deposit, prepayment, loan, payment contribution, penalty, fine, reward bonus and other similar subject of calculation |
commission | remuneration of a user who is a payment agent (subagent), bank payment agent (subagent), commission agent, attorney or other agent |
composite | about the subject of calculation, consisting of items, each of which can be assigned a value from "0" to "11" (0-11 are the above) |
other | about the subject of calculation, not related to the subjects of calculation, which can be assigned a value from "0" to "12" (0-12 are the above) |
Method of calculation | |
---|---|
pre_payment_full | full advance payment before the transfer of the subject of the calculation "100% PREPAYMENT" |
pre_payment_part | partial advance payment before the transfer of the payment item — "PREPAYMENT" |
full_payment | full payment, including taking into account the advance payment (advance payment) at the time of transfer of the payment item — "FULL PAYMENT" |
advance | advance |
credit_part | partial payment for item of settlement at the time of its transfer with subsequent payment on credit - "PARTIAL PAYMENT AND CREDIT" |
credit_pay | payment for the item of settlement after its transfer with payment on credit (credit payment) - "CREDIT PAYMENT" |
credit | transfer of the item of payment without payment at the time of its transfer with subsequent payment on credit - "TRANSFER ON CREDIT" |
Type of payment agent | |
---|---|
commissionaire | settlement with the buyer (client) by a user who is a commission agent |
bank_payment_agent | provision of services to the buyer (client) by a user who is a bank payment agent |
bank_payment_subagent | provision of services to the buyer (client) by a user who is a bank payment subagent |
payment_agent | provision of services to the buyer (client) by a user who is a payment agent |
payment_subagent | provision of services to the buyer (client) by a user who is a payment subagent |
solicitor | settlement with the buyer (client) by the user who is an solicitor |
agent | settlement with the buyer (client) by a user who is an agent and is not a bank payment agent (subagent), payment agent (subagent), solicitor, commission agent |
Response Parameters
The response to the request is XML of the following format if the request is successful:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_status>ok</pg_status>
<pg_receipt_id>135</pg_receipt_id>
<pg_salt>salt</pg_salt>
<pg_sig>60beff140b3c9c6dt87603522cc1c07f</pg_sig>
</response>
In case of error:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>9865</pg_salt>
<pg_status>error</pg_status>
<pg_error_code>100</pg_error_code>
<pg_error_description>Incorrect signature</pg_error_description>
<pg_sig>4df0f9d237952f56bd05c602d2873ed0</pg_sig>
</response>
Parameter | Description |
---|---|
pg_receipt_id | The number of the created receipt |
pg_status | The result of processing the request |
pg_error_code | Error code |
pg_error_description | Description of the error cause |
pg_salt | Random string |
pg_sig | Signature |
The status of the receipt in the OFD
https://www.platron.ru/get_receipt_status.php?pg_merchant_id=82&pg_receipt_id=10000&pg_salt=aaaaaaaaaa&pg_sig=b2c010162d43d2ba98a7f68caee24761
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_merchant_id>82</pg_merchant_id>
<pg_receipt_id>10000</pg_receipt_id>
<pg_salt>aaaaaaaaaa</pg_salt>
<pg_sig>b2c010162d43d2ba98a7f68caee24761</pg_sig>
</request>
Request URL
https://www.platron.ru/get_receipt_status.php
Request parameters
Parameter | Description |
---|---|
pg_merchant_id | Merchant ID (int) |
pg_receipt_id | The ID of the receipt received in the response to the receipt creation request |
pg_salt | Random string |
pg_sig | Signature |
Response Parameters
The response to the request is XML of the following format if the request is successful:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_status>ok</pg_status>
<pg_receipt_status>ok</pg_receipt_status>
<pg_fiscal_receipt_number>6</pg_fiscal_receipt_number>
<pg_shift_number>23</pg_shift_number>
<pg_receipt_date>2017-04-12 20:16:00</pg_receipt_date>
<pg_fn_number>1110000100238211</pg_fn_number>
<pg_ecr_registration_number>0000111118041361</pg_ecr_registration_number>
<pg_fiscal_document_number>133</pg_fiscal_document_number>
<pg_fiscal_document_attribute>3449555941</pg_fiscal_document_attribute>
<pg_salt>aaaaaa</pg_salt>
<pg_sig>531b7999c74d984fa8c9e1ff029a40d7</pg_sig>
</response>
In case there is no information on the receipt yet:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>9865</pg_salt>
<pg_status>ok</pg_status>
<pg_receipt_status>pending</pg_receipt_status>
<pg_sig>75ed486aa0dfd5363e2e5a87e8e30634</pg_sig>
</response>
In case of error:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>9865</pg_salt>
<pg_status>error</pg_status>
<pg_error_code>100</pg_error_code>
<pg_error_description>Incorrect signature</pg_error_description>
<pg_sig>4df0f9d237952f56bd05c602d2873ed0</pg_sig>
</response>
Parameter | Description |
---|---|
pg_status | The result of processing the request. |
pg_error_code | Error code |
pg_error_description | Description of the error cause |
pg_salt | Random string |
pg_sig | Signature |
pg_receipt_status | Receipt status (ok or pending) |
pg_fiscal_receipt_number | Receipt number in shift. |
pg_shift_number | Shift number. |
pg_receipt_date | Date and time of document from FN. |
pg_fn_number | FN_number. |
pg_ecr_registration_number | ECR registration number. |
pg_fiscal_document_number | Fiscal document number. |
pg_fiscal_document_attribute | Fiscal document attribute. |
Moneyback
List of PS for moneyback
https://www.platron.ru/moneyback_system_list.php?pg_merchant_id=82&pg_salt=aaaaa&pg_sig=0c86434c28fcc71166b28778c961a5d0
Getting a list of contacts with payment systems available for them
Request URL
https://www.platron.ru/moneyback_system_list.php
Request Parameters
Parameter | Description |
---|---|
pg_merchant_id | Merchant id |
pg_salt | Random string |
pg_sig | Signature |
Response parameters
Example of response:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_contract_list>
<pg_contract>
<pg_contract_id>24258</pg_contract_id>
<pg_account_amout>-30061.6100</pg_account_amout>
<pg_moneyback_system_list>
<pg_moneyback_system>
<pg_system_name>YANDEXMONEY_O</pg_system_name>
<pg_description>Description</pg_description>
<pg_amout>Amount</pg_amout>
<destination_account>wallet number</destination_account>
</pg_moneyback_system>
<pg_moneyback_system>
<pg_system_name>CONTACT_O</pg_system_name>
<pg_description>Description</pg_description>
<pg_amout>Amount</pg_amout>
<bName>Recipient's last name</bName>
<bLastName>Recipient's name</bLastName>
<bSurName>Recipient's patronymic</bSurName>
</pg_moneyback_system>
</pg_moneyback_system_list>
</pg_contract>
</pg_contract_list>
<pg_salt>3399407</pg_salt>
<pg_sig>700466634e329c11f6bbf094ea264eb8</pg_sig>
</response>
In response, Platron will return a list of valid contracts for which payment systems are available for moneyback and mandatory additional fields.
Request for moneyback
https://www.platron.ru/create_moneyback.php?pg_merchant_id=82&pg_contract_id=24258&pg_payment_id=22568489&pg_moneyback_system=CONTACT_O&pg_amount=120.00&pg_description=Тестовая_выплата&pg_salt=732343&bName=Фамилия_получателя&bLastName=Имя&bSurName=Отчество получателя&pg_sig=4f22f5a4903738a69e3ac74b96b23d4e
Merchant can make a moneyback to its customer without reference to a previous payment via Platron. This can be useful, for example, if the payment was not accepted through Platron, or if it is necessary to return funds for several payments of one client in one operation. Current functionality can only be connected through the supervising manager.
The standard moneyback is carried out with reference to the transaction.
Request URL
https://www.platron.ru/create_moneyback.php
Request Parameters
Parameter | Description |
---|---|
pg_merchant_id | Merchant id |
pg_contract_id | The ID of the contract under for the moneyback will be made |
pg_moneyback_system | The name of the payment system through which the moneyback will be made |
pg_amount | The amount of the payment in RUB currency |
pg_description | Description |
pg_salt | Random string |
pg_sig | Signature |
pg_payment_id | The payment id in the Platron system |
additional_value | Additional parameters for each PS their (see Moneyback systems and parameters) |
Each PS may have its own set of mandatory additional parameters that must be passed when requesting a payment, these parameters will be returned when requesting a list of available PS.
Response parameters
Example of response:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_status>ok</pg_status>
<pg_moneyback_id>727188</pg_moneyback_id>
<pg_salt>kdjdope983</pg_salt>
<pg_sig>a3fc5f602d287096ed237952f56bd5fa</pg_sig>
</response>
Example of a response in case of an error in the request:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_status>error</pg_status>
<pg_error_code>100</pg_error_code>
<pg_description>Error description</pg_description>
<pg_salt>kdjdope983</pg_salt>
<pg_sig>a3fc5f602d287096ed237952f56bd5fa</pg_sig>
</response>
The response will contain the result of an attempt to create a moneyback. In case of an error, the pg_error_code parameter will appear with the error number and the pg_description parameter with the error description.
Error code | Description |
---|---|
340 | Return not found |
200 | The required parameter is missing |
400 | The moneyback amount is greater than the transaction amount |
101 | Merchant has not found |
100 | Invalid request signature |
Status | |
---|---|
ok | Successfully |
pending | In process |
canceled | The moneyback has been cancelled |
If the pg_payment_id parameter is passed, the moneyback is linked to the transaction and the moneyback amount cannot exceed the direct transaction amount, otherwise an error will be returned.
You can make a moneyback transaction for less than the full amount, or several moneyback, as long as the total moneysback amount does not exceed the direct transaction amount.
Moneyback status
https://www.platron.ru/get_moneyback_status.php?pg_merchant_id=1234&pg_moneyback_id=72612&pg_salt=f387f3h3&pg_sig=bfc5f9d2379d287052f56bd05c60296e
Request URL
https://www.platron.ru/get_moneyback_status.php
Request parameters
Parameter | Description |
---|---|
pg_merchant_id | Merchant id |
pg_moneyback_id | Moneyback id |
pg_salt | Random string |
pg_sig | Signature |
reference_id | Moneyback ID in the payment system |
Response parameters
Example of response:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_status>pending</pg_status>
<pg_salt>kdjdope983</pg_salt>
<pg_sig>a3fc5f602d287096ed237952f56bd5fa</pg_sig>
</response>
In case of an error, the response will look like this:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_status>error</pg_status>
<pg_error_code>200</pg_error_code>
<pg_description>The required parameter is missing</pg_description>
<pg_salt>kdjdope983</pg_salt>
<pg_sig>a3fc5f602d287096ed237952f56bd5fa</pg_sig>
</response>
Parameter | Description |
---|---|
pg_status | The result of processing the request |
pg_moneyback_status | Moneyback status – the list of statuses can be viewed in the handbook of moneyback statuses |
pg_reference_id | ID in the payment system – present if needed for the user to receive money |
pg_salt | Random string |
pg_sig | Signature |
Cancellation of moneyback
Moneyback cancellation is available in your personal account on the Platron website at the link https://www.platron.ru/admin/moneyback_transactions.php
Register of Operations
Sending by email
In the merchant's parameters, it is possible to set an e-mail address to which the register of payments for the previous day will be sent every day. The register is formed at 0:10 Moscow time.
The headers of the letter contain the following information:
- X-Merchant-ID: Merchant ID, issued to merchant (example: 14)
- X-Registry-Date: The date on which the register was compiled, in the format YYYY-MM-DD (example: 2009-12-02)
- The "From" field of the letter contains info@platron.ru
- Subject of the letter: Platron report for merchant #id [YYYY-MM-DD]
For security purposes, merchant is advised to check the letter headers to ensure the authenticity of the received registry.
The registry is sent in the body of the letter or in an attachment, depending on the settings in the personal account, it is a set of data with tab separators. The first line contains the names of the fields. If the field is not defined, two tabs follow in a row.
The register is sent even if there were no transactions in the past day. In this case, the body of the letter contains only the header line.
Description of registry fields
Field code | Field name | Description |
---|---|---|
order_id | Order id | The number transmitted by merchant as the order id |
pg_payment_id | Payment_id | BILLNUMBER, Payment id, formed Platron. |
op_date | Date of operation | |
op_time | Time of operation | |
type | Type of operation | Three-letter operation code: “pay" – bill payment operation, “ref" – refund (through the same payment system through which the transaction was made) “rev" – reversal “mb" – refund (through a payment system different from the payment system of the transaction) “rev_mb" – cancellation of refund “par" – refund on partial clearing |
payment_system | Name of payment system | Name of the payment system (from the Handbook of payment systems and groups). |
payment_type | Payment type (direct or transit) | Type of contract with the Payment System: direct – direct contract between mechant and PS, transit – contract between Platron and ПС |
bill_amount | Invoice amount | The amount of the invoice originally issued by the merchant, in the currency in which it was originally issued |
bill_cur_symbol | The currency in which the invoice is issued | Currency code in the international standard (RUB, EUR, USD) |
amount | Amount | The amount paid by the payer to merchant |
pg_commission | Agent's commission | Platron commission for the transaction. |
ps_commission | Payment System Commission | Payment system commission for the transaction (absent if type="transit") |
to_pay | To pay | The difference between the transaction amount and the commission fee. |
currency | Currency | Currency code in the international standard (RUB, EUR, USD) |
description | Description | Description of the order passed in the request to create a transaction |
Example of registry
order_id | pg_payment_id | op_date | op_time | type | payment_system | payment_type | bill_amount | bill_cur_symbol | amount | pg_commission | ps_commission | to_pay | currency | description |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
289 | 79004 | 02.12.09 | 13:32:56 | pay | WEBMONEYE | direct | 0.13 | EUR | 0.1300 | 0.0003 | 0.0000 | 0.13 | EUR | Order №4077 |
291 | 79212 | 02.12.09 | 19:39:41 | pay | TEST | transit | 10 | RUB | 10.0000 | 0.0000 | 10.00 | RUB | Payment for the transfer | |
293 | 79216 | 02.12.09 | 19:42:10 | pay | TEST | transit | 0.30 | USD | 10.0000 | 0.0000 | 10.00 | RUB | Agent's commission | |
76392 | 78930 | 02.12.09 | 00:08:22 | pay | RAIFFEISEN | direct | 35.87 | USD | 1076.1400 | 2.5951 | 35.5100 | 1073.54 | RUB | Additional payment for the product Б75540 |
76394 | 78932 | 02.12.09 | 00:15:02 | pay | RAIFFEISEN | direct | 994.26 | RUB | 994.2600 | 2.3976 | 32.8100 | 991.86 | RUB | Delivery |
Registry Request
https://www.platron.ru/get_registry.php?pg_merchant_id=1234&pg_date=2016-11-15&pg_salt=f387f3h3&pg_sig=bfc5f9d2379d287052f56bd05c60296e
Request URL
https://www.platron.ru/get_registry.php
Request parameters
Parameter | Description |
---|---|
pg_merchant_id | Merchant id |
pg_date | The date for which you will receive the transactions. Format yyyy-mm-dd |
pg_salt | Random string |
pg_sig | Signature |
You cannot make another request until the first request has been processed. In this case, you will get an error.
Response parameters
If successful, the following response will be returned:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_status>ok</pg_status>
<operation>
<type>pay</type>
<payment_type>direct</payment_type>
<pg_payment_id>28236796</pg_payment_id>
<order_id>9789932</order_id>
<description>hotel reservetion description</description>
<merchant_id>82</merchant_id>
<payment_system>GDSHOTELWITHRUSSIANSTANDARD</payment_system>
<bill_amount>5138.0000</bill_amount>
<amount>0.0000</amount>
<currency>RUB</currency>
<bill_cur_symbol>RUB</bill_cur_symbol>
<op_date>15.11.2016</op_date>
<op_time>10:26:45</op_time>
<to_pay>0.0000</to_pay>
<pg_commission>0.0000</pg_commission>
<ps_commission>0.0000</ps_commission>
</operation>
<pg_salt>f387f3h3</pg_salt>
<pg_sig>cac84530938b7e51b2d272e1d0212457</pg_sig>
</response>
In case of an error, the response will look like this:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_status>error</pg_status>
<pg_error_code>200</pg_error_code>
<pg_description>Required parameter is missing</pg_description>
</response>
See the description of the fields of the file sent to email
Notifications
Checking the possibility of payment
Example of GET call of merchant by gate:
http://store.ru/check.php?pg_salt=8765&pg_order_id=654&pg_payment_id=765432&pg_payment_system=WEBMONEYR&pg_amount=100.00&pg_currency=RUB&pg_net_amount=95.00&pg_ps_amount=100.00&pg_ps_currency=RUB&pg_ps_full_amount=100.80&pg_sig=bfc5f9d237952f56bd05c602d287096e&uservar1=45363456
Example of xml call (POST with XML in pg_xml parameter) of merchant store:
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_salt>8765</pg_salt>
<pg_order_id>654</pg_order_id>
<pg_payment_id>765432</pg_payment_id>
<pg_payment_system>WEBMONEYR</pg_payment_system>
<pg_amount>100.00</pg_amount>
<pg_currency>RUB</pg_currency>
<pg_ps_currency>RUB</pg_ps_currency>
<pg_ps_amount>100.00</pg_ps_amount>
<pg_ps_full_amount>100.00</pg_ps_full_amount>
<uservar1>45363456</uservar1>
<pg_sig>bfc5f9d237952f56bd05c602d287096e</pg_sig>
</request>
Before accepting money from a customer on an invoice, the payment gate can call merchant's Check URL script using the Request Method.
If merchant selected an encoding other than utf-8 when initializing the payment, the request will be made in the encoding set by merchant. The gate transmits information about the order number and properties and waits for a response within 30 seconds. The absence of a response within the specified time is perceived as a temporary refusal of payment, in which case the Check URL call can be repeated later if it is initiated again by the payment system.
The Check URL script is called only if this option is supported by the payment system through which the payment is made. If the Check URL is not specified or is defined as empty at the time of payment initialization, and is set to empty in the merchant settings, then the step of checking the possibility of making a payment is skipped and it is considered that the merchant agrees to accept the payment.
Request parameters
Parameter | Description |
---|---|
pg_order_id | Payment ID in the merchant's system |
pg_payment_id | Internal payment id in the platron.ru system |
pg_amount | The amount of the invoice (in pg_currency currency), coincides with pg_amount at the time of payment initiation |
pg_currency | The currency of the invoice is the same as pg_currency at the time of payment initiation |
pg_net_amount | The amount (in pg_currency currency) that will be transferred to the merchant in case of successful completion of the payment |
pg_ps_amount | The invoice amount (in pg_ps_currency currency) issued in the PS. The parameter may be absent in case of an unsuccessful payment. |
pg_ps_full_amount | The full amount (in pg_ps_currency currency) that the buyer paid, including all commissions. The parameter may be absent in case of an unsuccessful payment. |
pg_ps_currency | The currency in which the payment was made in the payment system. The parameter may be absent in case of an unsuccessful payment. |
pg_overpayment | The amount of the overpayment in the currency of the payment system. The parameter is passed only if the customer has paid more than expected from him, and the overpayment is allowed in the merchant settings. If the amount paid is exactly as expected, this parameter is not passed. |
pg_payment_system | Payment system ID |
pg_result | 1 – success, 0 – failure |
pg_payment_date | Date and time of payment in the format YYYY-MM-DD HH:MM:SS |
pg_can_reject | 1 – payment can be rolled back (for example Bank cards), 0 – payment is irrevocable. By default, pg_can_reject=0. |
pg_card_brand | Card brand: CA – MasterCard and their products, VI – Visa, AX – AmericanExpress. This parameter is passed only in case of successful payment by bank card. |
pg_card_pan | Masked card number (some of the digits of the card number are hidden). This parameter is passed only in case of successful payment by bank card. |
pg_card_hash | Hashed card number (the card number encrypted with an irreversible encryption algorithm). This parameter is passed only in case of successful payment by bank card. |
pg_auth_code | Authorization code. This parameter is passed only in case of successful payment by bank card. |
pg_captured | 0 or 1. It is transmitted only in case of successful payment by bank card and shows whether clearing was performed at the time of authorization (which depends only on the merchant settings). If the value of this parameter is 0, merchant must subsequently issue a clearing command (see section Clearing section) or wait for Platron to do it itself. |
pg_user_phone | The buyer's phone number (specified when initializing the payment) |
pg_need_phone_notification | The need to notify the client (if the service is connected) via SMS about the transaction status. 0 – do not notify. |
pg_user_contact_email | The buyer's email address, if entered. It is sent only if there is an email |
pg_need_email_notification | The need to notify the client (if the service is connected) by email about the transaction status. 0 – do not notify. It is sent only if there is a pg_user_contact_email |
pg_failure_code | Refusal Reason Code (for a list of codes and their descriptions, see the Refusal Reason Handbook). The parameter is present only in case of unsuccessful payment. |
pg_failure_description | Description of the reason for the payment failure. Transmitted in the transaction language. This description is formulated in terms understandable to the user and can be communicated to him in any accessible way. The parameter is present only in case of unsuccessful payment. |
pg_recurring_profile_id | Recurring Payments Profile ID |
pg_recurring_profile_expiry_date | The date until which the recurring profile is available for use |
Merchant parameters | All fields passed from the merchant's website that do not have a prefix «pg_» |
pg_salt | Random string |
pg_sig | Signature |
Response parameters (merchant)
Examples of responses
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>654j8rlvbyuj</pg_salt>
<pg_status>ok</pg_status>
<pg_timeout>300</pg_timeout>
<pg_sig>6e952f52d23770986bd05c6fc5f902db</pg_sig>
</response>
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>654j8rlvbyuj</pg_salt>
<pg_status>rejected</pg_status>
<pg_description>The payment deadline for the order has expired</pg_description>
<pg_sig>d2377096e952f5286bd05c602dbfc5f9</pg_sig>
</response>
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>654j8rlvbyuj</pg_salt>
<pg_status>error</pg_status>
<pg_error_code>1000</pg_error_code>
<pg_error_description>database connection failed</pg_error_description>
<pg_sig>8a417096e952f5286bd05c602dbfc562</pg_sig>
</response>
Parameter | Description |
---|---|
pg_status | ok – payment allowed rejected – payment refused error – error in data interpretation |
pg_description | (string[1024]) – If the payment is allowed, the parameter is optional. In case of refusal of payment, a description of the reason for refusal for the client. In case of an error – a description of the error, which may duplicate the parameter pg_error_description. |
pg_timeout | (int[10]) the time in seconds during which payment is expected, by default 600 seconds |
pg_error_description | Error description in case of pg_status=error |
pg_salt | Random string |
pg_sig | Signature |
If the store confirms that the order is ready and the amount is correct, it should respond in XML with the ok status.
The rejected status is perceived as a final refusal, in which case the pg_description parameter is displayed to the user as the reason for the refusal ( if this option is supported by the payment system), and the invoice is canceled. Merchant should be prepared for the fact that even after the rejected response, nevertheless, the Check URL can be called again (for example, if Platron did not wait for merchant's response).
The error status is perceived as a temporary failure on the store's side. The invoice remains active, and a request for the possibility of making a payment can be made again if it is re-initiated by the user. If the merchant's server is unavailable at the time of calling the Check URL or if a response is received that cannot be interpreted, the payment will also be temporarily canceled.
Payment result
Example of a GET call to merchant by a gate, when paying via a regular payment system:
http://store.ru/result.php?pg_salt=0bd68e&pg_order_id=654&pg_payment_id=765432&pg_amount=100.0000&pg_currency=RUB&pg_net_amount=100.00&pg_ps_amount=105.00&pg_ps_full_amount=105.00&pg_ps_currency=RUB&pg_payment_system=INPLATMTS&pg_result=1&pg_payment_date=2008-12-30+23:59:30&pg_can_reject=0&pg_user_phone=79818244116&pg_need_phone_notification=1&pg_user_contact_email=test@test.ru&pg_need_email_notification=1&uservar1=45363456&pg_sig=da61f9d237952f56bd05c602d28780b3
Example of an xml call (POST with XML in the pg_xml parameter) of a gate merchant, when paying via a regular payment system:
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_salt>0bd68e</pg_salt>
<pg_order_id>654</pg_order_id>
<pg_payment_id>765432</pg_payment_id>
<pg_amount>100.0000</pg_amount>
<pg_currency>RUB</pg_currency>
<pg_net_amount>100.00</pg_net_amount>
<pg_ps_amount>105.00</pg_ps_amount>
<pg_ps_full_amount>105.00</pg_ps_full_amount>
<pg_ps_currency>RUB</pg_ps_currency>
<pg_payment_system>INPLATMTS</pg_payment_system>
<pg_result>1</pg_result>
<pg_payment_date>2008-12-30 23:59:30</pg_payment_date>
<pg_can_reject>0</pg_can_reject>
<pg_user_phone>79818244116</pg_user_phone>
<pg_need_phone_notification>1</pg_need_phone_notification>
<pg_user_contact_email>test@test.ru</pg_user_contact_email>
<pg_need_email_notification>1</pg_need_email_notification>
<uservar1>45363456</uservar1>
<pg_sig>da61f9d237952f56bd05c602d28780b3</pg_sig>
</request>
Example of a GET call to merchant by a gate, when paying by card payment system:
http://store.ru/result.php?pg_salt=0bd68e&pg_order_id=654&pg_payment_id=765432&pg_amount=100.0000&pg_currency=RUB&pg_net_amount=100.00&pg_ps_amount=105.00&pg_ps_full_amount=105.00&pg_ps_currency=RUB&pg_payment_system=RUSSIANSTANDARD&pg_result=1&pg_payment_date=2008-12-30+23:59:30&pg_can_reject=1&pg_card_brand=CA&pg_card_pan=527594******4984&pg_card_hash=022380c107141f7e11f4271d7f6412a715222c32&pg_auth_code=014318&pg_captured=0&pg_user_phone=79818244116&pg_need_phone_notification=1&pg_user_contact_email=test@test.ru&pg_need_email_notification=1&uservar1=45363456&pg_sig=da61f9d237952f56bd05c602d28780b3
Example of an xml call (POST with XML in the pg_xml parameter) of a gate merchant, when paying by card payment system:
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_salt>0bd68e</pg_salt>
<pg_order_id>654</pg_order_id>
<pg_payment_id>765432</pg_payment_id>
<pg_amount>100.0000</pg_amount>
<pg_currency>RUB</pg_currency>
<pg_net_amount>100.00</pg_net_amount>
<pg_ps_amount>105.00</pg_ps_amount>
<pg_ps_full_amount>105.00</pg_ps_full_amount>
<pg_ps_currency>RUB</pg_ps_currency>
<pg_payment_system>RUSSIANSTANDARD</pg_payment_system>
<pg_result>1</pg_result>
<pg_payment_date>2008-12-30 23:59:30</pg_payment_date>
<pg_can_reject>1</pg_can_reject>
<pg_card_brand>CA</pg_card_brand>
<pg_card_pan>527594******4984</pg_card_pan>
<pg_card_hash>022380c107141f7e11f4271d7f6412a715222c32</pg_card_hash>
<pg_auth_code>014318</pg_auth_code>
<pg_captured>0</pg_captured>
<pg_user_phone>79818244116</pg_user_phone>
<pg_need_phone_notification>1</pg_need_phone_notification>
<pg_user_contact_email>test@test.ru</pg_user_contact_email>
<pg_need_email_notification>1</pg_need_email_notification>
<uservar1>45363456</uservar1>
<pg_sig>da61f9d237952f56bd05c602d28780b3</pg_sig>
</request>
If merchant accepts the payment, it should respond in XML with the ok status.:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>kdjdope983</pg_salt>
<pg_status>ok</pg_status>
<pg_description>The product has been transferred to the buyer</pg_description>
<pg_sig>9bfc5f602d287096ed237952f56bd05c</pg_sig>
</response>
After receiving money from the client or if it is impossible to make a payment, Platron calls the merchant's Result URL and sends information about the payment result to it using the Request Method. If merchant selected an encoding other than utf-8 when initializing the payment, the request will be made in the encoding set by merchant. Upon receipt of this request, the store must perform the necessary actions to transfer products or services to the buyer, if the payment was successful. If pg_com_reject=1 and merchant cannot accept the payment (for example, the ticket reservation has expired), it must respond with the rejected status, and Platron will cancel the payment (according to INPLAT, there is no possibility of refusing the payment). In this case, the pg_description parameter from the merchant's response is shown to the user as the reason for the refusal.
If the merchant's server is unavailable at the time of calling the Result URL (no response for more than 30 seconds) or its response could not be interpreted, Platron will make repeated attempts to call it for 2 hours, even if the pg_lifetime of the invoice expires. If the first attempt to call the Result URL is unsuccessful, the payment is not cancelled, and if the payment system allows you to cancel the payment only immediately after the payment, then Platron accepts the payment from the payment system and in subsequent calls to the Result URL does not allow the merchant to cancel the payment. The merchant must be prepared for the Result URL to be called again for the same payment. The responses to the repeated calls must match the original response, even if the transaction lifetime (pg_lifetime) has expired.
Request parameters
Parameter | Description |
---|---|
pg_order_id | Payment ID in the merchant's system |
pg_payment_id | Internal payment id in the Platron system |
pg_amount | The invoice amount (in pg_ps_currency) matches pg_amount at the time of payment initiation |
pg_currency | The currency of the invoice, matches the pg_currency at the time of payment initiation |
pg_net_amount | The amount (in pg_currency) that will be transferred to the store if the payment is successfully completed |
pg_ps_amount | The invoice amount (in pg_ps_currency currency) issued in the PS. The parameter may be absent in case of an unsuccessful payment. |
pg_ps_full_amount | The total amount (in pg_ps_currency) paid by the buyer, including all commissions. The parameter may be absent if the payment was unsuccessful. |
pg_ps_currency | The currency in which the payment was made in the payment system. The parameter may be absent in case of an unsuccessful payment. |
pg_overpayment | The amount of overpayment in the currency of the payment system. The parameter is passed only if the customer has paid more than expected and overpayment is allowed in the merchant settings. If exactly the amount expected was paid, this parameter is not passed. |
pg_payment_system | Payment system id |
pg_result | 1 - success, 0 - failure |
pg_payment_date | Date and time of payment in the format YYYY-MM-DD HH:MM:SS |
pg_can_reject | 1 – payment can be rolled back (for example Bank cards), 0 – payment is irrevocable. By default, pg_can_reject=0. |
pg_card_brand | Card brand: CA – MasterCard and their products, VI – Visa, AX – AmericanExpress. This parameter is passed only in case of successful payment by bank card. |
pg_card_pan | Masked card number (some of the digits of the card number are hidden). This parameter is passed only in case of successful payment by bank card. |
pg_card_hash | Hashed card number (card number encrypted with an irreversible encryption algorithm). This parameter is transmitted only in case of successful payment by bank card. |
pg_auth_code | Authorization code. This parameter is transmitted only in case of successful payment by bank card. |
pg_captured | 0 or 1. It is transmitted only in case of successful payment by bank card and shows whether clearing was performed at the time of authorization (which depends only on the merchant settings). If the value of this parameter is 0, merchant must subsequently issue a clearing command (see section Clearing ) or wait for Platron to do it itself. |
pg_user_phone | Buyer's phone number (specified when initializing the payment) |
pg_need_phone_notification | The need to notify the client (if the service is connected) via SMS about the transaction status. 0 – do not notify. |
pg_user_contact_email | Buyer's email address, if entered. It is sent only if there is an email |
pg_need_email_notification | The need to notify the client (if the service is connected) by email about the transaction status. 0 – do not notify. It is sent only if there is pg_user_contact_email |
pg_failure_code | Refusal Reason Code (for a list of codes and their descriptions, see section [Refusal Reasons Handbook])(#handbook-failure-code)). The parameter is present only in case of unsuccessful payment. |
pg_failure_description | Description of the reason for payment failure. Transmitted in transaction language. This description is formulated in terms understandable to the user and can be communicated to him in any accessible way. The parameter is present only in case of unsuccessful payment. |
pg_recurring_profile_id | Recurring Payments Profile ID |
pg_recurring_profile_expiry_date | The date until which the recurring profile is available for use |
Merchant parameters | All fields passed from the merchant's website that do not have the prefix "pg_" |
pg_salt | Random string |
pg_sig | Signature |
Response parameters (merchant)
If the merchant refuses the payment and the pg_can_reject=1 parameter was passed in the request, the merchant must respond in the form XML with status rejected:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>kdjdope983</pg_salt>
<pg_status>rejected</pg_status>
<pg_description>Бронь истекла</pg_description>
<pg_sig>a3fc5f602d287096ed237952f56bd5fa</pg_sig>
</response>
Parameter | Description |
---|---|
pg_status | ok – payment accepted rejected – payment rejected (if pg_can_reject=1 ) error – error in data interpretation |
pg_description | (string[1024]) – If the payment is accepted, the parameter is not transmitted. In case of refusal to accept payment, a description of the reason for the refusal for the client. In case of an error – a description of the error, may duplicate the parameter pg_error_description. |
pg_error_description | description of the error, in case pg_status=error |
pg_salt | Random string |
pg_sig | Signature |
The rejected status can be returned by the merchant only if the incoming request from the gate specified the parameter pg_can_reject=1, otherwise, regardless of the store's response, the payment will be considered completed. If the merchant refused the payment (responded with rejected), the buyer is redirected to the Failure URL, otherwise - to the Success URL.
Clearing result
Example of a GET call to merchant by a gate:
http://store.ru/onCapture.php?pg_salt=gw41b38vc&pg_order_id=2614&pg_payment_id=825941&pg_sig=afaef9d237932f57bd05c602d287df34&uservar1=45363456
Example of xml call (POST with XML in pg_xml parameter) of the gate merchant:
<?xml version="1.0" encoding="utf-8"?>
<request>
<pg_salt>gw41b38vc</pg_salt>
<pg_order_id>2614</pg_order_id>
<pg_payment_id>825941</pg_payment_id>
<uservar1>45363456</uservar1>
<pg_sig>afaef9d237932f57bd05c602d287df34</pg_sig>
</request>
If merchant is configured to conduct transactions on bank cards in two stages - authorization and clearing - Platron notifies merchant about the execution of clearing immediately after sending the corresponding command to the bank.
Clearing is usually performed at the initiative of merchant, when merchant Platron a clearing command (see the Clearing section), however, if the store has not given this command within the period specified in merchant settings (no more than 5 days) after authorization, Platron independently sends a clearing command to the bank.
To notify merchant about clearing, Platron calls merchant's Capture URL script using the Request Method. Platron transmits information about the order number and waits for a response within 30 seconds. If the merchant's server is unavailable at the time of calling the Capture URL (no response for more than 30 seconds) or its response could not be interpreted, Platron will make repeated attempts to call it within 2 hours.
Request parameters
Parameter | Description |
---|---|
pg_order_id | Payment ID in the merchant's system |
pg_payment_id | Internal payment id in the Platron system |
Merchant parameters | All fields passed from the merchant's website that do not have a prefix «pg_» |
pg_salt | Random string |
pg_sig | signature |
Response parameters (merchant)
Example of merchant response:
<?xml version="1.0" encoding="utf-8"?>
<response>
<pg_salt>eyhfh42za22h</pg_salt>
<pg_status>ok</pg_status>
<pg_sig>ea362f52d23770986bd05c6fc5f9427d</pg_sig>
</response>
Parameter | Description |
---|---|
pg_status | ok – information received error – error in data interpretation |
pg_error_description | Error description, in case of pg_status=error |
pg_salt | Random string |
pg_sig | Signature |
Payment refund
In case of a full or partial refund of the payment on the Platron or payment system side, the payment gate calls the Refund URL store script using the Request Method method. The request will be made in the encoding set by the merchant when initializing the payment, by default utf-8. The gate transmits information about the order number and properties and waits for a response within 30 seconds. If the merchant's server is unavailable at the time of calling the Refund URL (no response for more than 30 seconds) or its response could not be interpreted, Platron will make repeated attempts to call it within 2 hours.
Request parameters
Parameter | Description |
---|---|
pg_order_id | Payment ID in the merchant's system |
pg_payment_id | Internal payment id in the Platron system |
pg_amount | The invoice amount (in pg_currency) matches with pg_amount at the time of payment initiation |
pg_currency | The currency of the invoice is the same as pg_currency at the time of payment initiation |
pg_net_amount | The amount (in pg_ps_currency) that will be debited from merchant |
pg_ps_full_amount | The total amount (in pg_ps_currency) that will be returned to the buyer |
pg_ps_currency | The currency in which the payment will be refunded in the payment system |
pg_payment_system | Payment system id |
pg_refund_date | Date and time of the payment cancellation in the format YYYY-MM-DD HH:MM:SS |
pg_refund_type | Refund method: reverse – full refund before clearing (for bank cards) refund – full or partial refund moneyback – full or partial refund by means other than the means of payment It makes sense to distinguish between reverse and refund only for bank cards. Reversal can occur only before clearing, refund only after clearing. |
pg_refund_system | The payment system through which the refund was made. Only makes sense if pg_refund_type=moneyback. For possible values, see section Moneyback systems and parameters |
pg_refund_id | Unique refund id to filter duplicate notifications for the same refund. Each type of refund has its own set of unique refund identifiers. |
Merchant parameters | All fields passed from the merchant's website that do not have the prefix «pg_» |
pg_salt | Random string |
pg_sig | signature |
Response parameters (merchant)
Parameter | Description |
---|---|
pg_status | ok – information received error – error in data interpretation |
pg_error_description | description of the error, in case pg_status=error |
pg_salt | Random string |
pg_sig | signature |
Return of the buyer to the merchant's website
Example of a GET or AUTOGET transition if successful:
https://store.ru/success.php?pg_salt=54c6a8786f19e&pg_order_id=654&pg_payment_id=765432&uservar1=45363456&pg_card_brand=CA&pg_card_pan=527594******4984&pg_card_hash=022380c107141f7e11f4271d7f6412a715222c32&pg_auth_code=014318&pg_auth_code=014318&pg_sig=20bcedd8320ac8868b97706abedec0b4
After completing the payment in the online payment system, the buyer is redirected to the merchant's Success URL page or Failure URL, depending on the result of the payment. Redirection occurs using the Success URL Method or Failure URL Method specified when initiating the payment.
In case of payment via an offline payment system, the buyer is not returned to the merchant's website.
Request parameters
Parameter | Description |
---|---|
pg_order_id | Payment ID in the merchant's system |
pg_payment_id | Internal payment id in the platron.ru system |
pg_card_brand | Card brand: CA – MasterCard and their products, VI – Visa, AX – AmericanExpress. This parameter is passed only in case of successful payment by bank card. |
pg_card_pan | Masked card number (some of the digits of the card number are hidden). This parameter is passed only in case of successful payment by bank card. |
pg_card_hash | Hashed card number (card number encrypted with an irreversible encryption algorithm). This parameter is transmitted only in case of successful payment by bank card. |
pg_auth_code | Authorization code. This parameter is passed only in case of successful payment by bank card. |
pg_captured | 0 or 1. It is transmitted only in case of successful payment by bank card and shows whether clearing was performed at the time of authorization (which depends only on the merchant settings). If the value of this parameter is 0, merchant must subsequently issue a clearing command. (see section Clearing) or wait until Platron does it itself. |
pg_overpayment | The amount of overpayment in the currency of the payment system. The parameter is passed only if the client has paid more than expected, and overpayment is allowed in the merchant settings. If exactly the amount expected was paid, this parameter is not passed. |
pg_failure_code | Refusal Reason Code (for a list of codes and their descriptions, see the Refusal Reason Handbook). Transmitted only to Failure URL. |
pg_failure_description | Description of the reason for the payment failure. Transmitted in the transaction language. This description is formulated in terms understandable to the user and can be communicated to him in any accessible way. Transmitted only to Failure URL. |
pg_recurring_profile_id | Recurring Payments Profile ID |
pg_recurring_profile_expiry_date | The date until which the recurring profile is available for use |
Merchant parameters | All fields passed from the merchant's website that do not have the prefix «pg_» |
pg_salt | Random string |
pg_sig | signature |
If the Success URL or Failure URL already contains parameters in the query string, then the additional parameters pg_order_id, pg_payment_id and the merchant's custom variables are appended to the end of the query string. The merchant must ensure that the names of the additional parameters do not match the names of the existing parameters.
It is important to clearly understand the difference between Result URL and Success URL. Result URL is called directly from Platron server, while Success URL is called by user's browser when user is redirected back to the merchant's website.
It is incorrect to use the Success URL as the only way to know about the payment completion, because the user may, for various reasons (for example, a connection interruption), not reach the Success URL after payment. The most reliable way to know about the payment completion is to implement a Result URL, which is obliged to call again within 2 hours after payment, if the first attempt failed for any reason.
Testing
All new merchants are initially in test mode. After testing is completed and sent by the merchant to Platron signed the Act of connection, it can be downloaded from the link https://www.platron.ru/admin/documents.php, the Platron administration switches the store to working mode.
To debug the integration with Platron in test mode, you need to select pg_payment_system=TEST or pg_payment_system=TESTCARD, in this case a fictitious test PS will be used, conducting settlements in a fictitious currency "testiks", and real funds will not be transferred. In test mode, you can use only test payment systems, and in working mode, on the contrary, payment by test payment systems is impossible. To test the integration of the TESTCARD payment system, you must use the currency — RUB.
After the merchant switches to the working mode, you can create individual transactions in test mode by passing the pg_testing_mode parameter in requests for creating a payment, repeating a recurring payment, and getting a list of payment systems. The pg_testing_mode=1 value enables test mode for one specific transaction. If the merchant itself is in test mode, the value of the passed pg_testing_mode flag does not matter. Enabling and disabling test mode in the merchant settings is carried out only by the Platron administration.
When filling in the payment details, you can specify the following special phone numbers:
- 79009999999 — for automatic successful payment
- 79008888888 — for automatic unsuccessful payment
If you specify any other phone number, then after the transaction is created, no automatic actions will occur with it. In order to test the further progress of the transaction, you need to go to the administrative panel on the transaction page and manage its actions using the test buttons.
To emulate the user's transition to the 3DS passage page when using the TESTCARD payment system, you need to ask your manager to enable client authorization via 3DS.
The test payment system allows testing of clearing, PCI DSS, long record and recurring payments.
When paying through a test card payment system, you must enter the card number. You can use a real card (no write-off occurs), select a card number (according to the luna rule), or use test cards. Test cards are not validated by the fraud monitoring module. List of test cards:
- 5285 0000 0000 0005 valid until 01/2025
- 4276 0000 0000 0009 valid until 01/2025
- 5241 0000 0000 0016 valid until 01/2025
- 5326 0000 0000 0006 valid until 01/2025
- 4257 0000 0000 0002 valid until 01/2025
Anti-fraud
A task. Integrate into the Platron system only for anti-fraud solutions.
Solution. Integration is performed in a standard way. To transfer card details, the merchant must have a PCI DSS certificate. Additional documentation on integration with the presence of PCI DSS can be requested from the manager.
- To create a transaction, you must use the payment initialization method — Host-to-host
- When creating a transaction, the payment system must be specified ANTIFRAUD (pg_payment_system=ANTIFRAUD).
- In response (see Payment result or Payment status) an additional parameter will be given fraud_filter_action
Possible response options:
fraud_filter_action | Description |
---|---|
pass | The transaction is not considered fraudulent. |
pass_and_warn | Merchant should pay attention to the order. The order may contain a suspicious set of products |
mpi3ds_or_block | If possible make a transaction via a terminal with 3DS verification. If a 3DS terminal is used by default, the transaction is considered secure. |
block | It is necessary to block the transaction |
manual_check_or_block | It is necessary to request a photo of the payment card from the buyer. If the card is not provided, block the transaction. |
Required parameters, in addition to the parameters from the Payment Initialization section, necessary for the correct operation of the anti-fraud:
Parameter | Description |
---|---|
pg_user_phone | Buyer's phone number |
pg_user_ip | Buyer's IP address |
pg_card_number | Card number |
pg_user_cardholder | The name of the cardholder, from 3 to 27 Latin letters (depending on the type of card) |
pg_exp_year | The expiration date of the card, 4 digits. |
pg_exp_month | The month of expiration of the card, 2 digits. |
pg_cvv2 | CVV2/CVC2 code, 3 or 4 digits. Any value can be passed. |
pg_user_contact_email | Email address |
For e-travel segment stores, the following data can be transmitted in additional fields:
Parameter | Description |
---|---|
airports (array) | Departure/arrival airports |
airlines (array) | The airline operating the flight |
departure_time (YYYY-MM-DD HH:MM:SS) | Departure date and time |
document_attributes_passengers (series+number+space+country+space+document type, example 77АУ666717 RU russian internal passport, IVAN IVANOV 16.03.1990 lastname firstname date of birth) * | Passenger documents. russian internal passport – internal passport of the Russian Federation russian international passport – Russian Federation foreign passport foreign passport – foreign passport birth certificate – birth certificate temporary certificate – temporary certificate lastname firstname date of birth – passenger's surname and name + date of birth |
passenger_names (name + space + surname, only latin letters, space and dash) | Names and surnames of passengers |
point_countries (array) | Departure and destination country. ISO Alpha 2 3166-1 is used to designate the country. |
Marketplace
The Marketplace implies the payment of funds to the accounts of legal entities. The initiation of the payment of funds to a legal entity occurs according to the scheme described in the section Request for moneyback.
To make payments in favor of a legal entity, the BANKTRANSFER_WALLET_ONE_LEGAL payment system is used.
In case of moneyback via the BANKTRANSFER_WALLET_ONE_LEGAL payment system, the pg_description parameter is added to the payment order as a payment description. The maximum number of characters is 90.
Funds are credited to the account for payments according to the standard Payment Initialization protocol.
Handbooks
Payment systems
Working payment systems
ID (pg_payment_system) | Currency | Category (pg_category) | Description |
---|---|---|---|
BANKCARD | RUB | bankcard | Bank card |
RUSSIANSTANDARD | RUB | bankcard | Bank cards through the processing of Russian Standard Bank |
TINKOFFBANKCARD | RUB | bankcard | Bank cards through the processing of Tinkoff Bank |
CONNECTUMEUR | EUR | bankcard | Bank cards through the processing of Connectum |
CONNECTUMUSD | USD | bankcard | Bank cards through the processing of Connectum |
CONNECTUMGBP | GBP | bankcard | Bank cards through the processing of Connectum |
CONNECTUMTRY | TRY | bankcard | Bank cards through the processing of Connectum |
CONNECTUMCNY | CNY | bankcard | Bank cards through the processing of Connectum |
YANDEXMONEY | RUB | wallet | EPS Yandex Money |
YANDEXPAY | RUB | yandexpay | EPS Yandex Pay |
SBP | RUB | sbp | Fast payment system (SBP) |
MIRPAY | RUB | mirpay | Mir Pay |
SBERPAY | RUB | sberpay | SberPay |
Test payment systems
ID (pg_payment_system) | Currency | Category (pg_category) | Description |
---|---|---|---|
TEST | testik | wallet | Test payment systems |
TESTCARD | testik | bankcard | Test payment system for cards |
TESTELIXIRSBP | testik | sbp | Test payment system for SBP |
TESTMIRPAY | testik | mirpay | Test payment system for Mir Pay |
Bank cards
ID (pg_payment_system) | Checking the possibility of making a payment (is it called Check URL) | Account lifetime support by the payment system (pg_lifetime) | The possibility of revoking a payment (could it be pg_can_reject=1) | The possibility of canceling the invoice before payment | The possibility of using recurring payments | Refund method |
---|---|---|---|---|---|---|
BANKCARD | no | no | Check with the manager | on the Platron side, reverse after payment | Check with the manager | Check with the manager |
RUSSIANSTANDARD | no | no | yes | on the Platron side, reverse after payment | yes | online, to the card |
TINKOFFBANKCARD | no | no | yes | on the Platron side, reverse after payment | yes | online, to the card |
CONNECTUMEUR | no | no | yes | on the Platron side, reverse after payment | yes | online, to the card |
CONNECTUMUSD | no | no | yes | on the Platron side, reverse after payment | yes | online, to the card |
CONNECTUMGPB | no | no | yes | on the Platron side, reverse after payment | yes | online, to the card |
CONNECTUMTRY | no | no | yes | on the Platron side, reverse after payment | yes | online, to the card |
CONNECTUMCNY | no | no | yes | on the Platron side, reverse after payment | yes | online, to the card |
SBP | yes | yes | yes | on the Platron side, refund after payment | no | online |
SBERPAY | no | yes | yes | on the Platron side, refund after payment | no | online |
MIRPAY | no | no | yes | on the Platron side, refund after payment | no | online |
YANDEXMONEY | yes | no | yes | on the Platron side, refund after payment | no | online, to the wall |
Test payment systems
ID (pg_payment_system) | Name | Base currency | PS Commission Location |
---|---|---|---|
TEST | Test payment system with transfers in virtual currency, used to debug payment processing | testik | inside |
TESTCARD | Test payment system with transfers in virtual currency, used to debug payment processing by cards | testik | inside |
TESTELIXIRSBP | Test payment system with transfers in virtual currency, used to debug payment processing by SBP | testik | inside |
TESTMIRPAY | Test payment system with transfers in virtual currency, used to debug payment processing by Mir Pay | testik | inside |
Additional PS parameters
ID | Parameter | Description |
---|---|---|
CONNECTUMEUR CONNECTUMUSD CONNECTUMGBP CONNECTUMTRY CONNECTUMCNY |
pg_user_email pg_user_login |
If e-mail is required on the website. It is necessary to check with the manager. |
Currencies
Currently, all currencies that have an official exchange rate of the Central Bank of the Russian Federation are supported.
ID (pg_currency) | Name |
---|---|
AUD | Australian Dollar |
AZN | Azerbaijanian Manat |
AMD | Armenian Dram |
BYN | Belarussian Ruble |
BGN | Bulgarian Lev |
BRL | Brazilian Real |
HUF | Hungarian Forint |
KRW | Won of the Republic of Korea |
HKD | Hong Kong dollar |
DKK | Danish krone |
USD | US Dollar |
EUR | Euro |
INR | Indian Rupee |
KZT | Kazakhstani tenge |
CAD | Canadian dollar |
KGS | Kyrgyz som |
CNY | Chinese Yuan |
MDL | Moldovan Leu |
TMT | New Turkmen Manat |
NOK | Norwegian krone |
PLN | Polish Zloty |
RON | Romanian Leu |
XDR | SDR (Special Drawing Rights) |
SGD | Singapore dollar |
TJS | Tajik Somoni |
TRY | Turkish Lira |
UZS | Uzbek sum |
UAH | Ukrainian hryvnia |
GBP | Pound Sterling of the United Kingdom |
CZK | Czech crown |
SEK | Swedish krona |
CHF | Swiss Franc |
ZAR | South African Rand |
JPY | Japanese Yen |
Payment statuses
Each payment transaction can be in one of the following states:
Status (pg_transaction_status) | Description |
---|---|
partial | The payment transaction is not yet fully created, for example, the payment system is not defined. From this state, the payment can only move to the pending state. |
pending | The payment transaction has been created and is awaiting payment. From this state, the payment can only move to the ok or failed states. |
ok | The payment was completed successfully. From this state, the payment can only move to the revoked state |
failed | Payment failed. This is the final status. |
revoked | The payment was successful but was then cancelled. This is the final status. |
Error codes
Error code | Error description |
---|---|
100 | Invalid request signature * |
101 | Invalid merchant number |
110 | There is no contract with the merchant or it is not valid |
120 | The requested action is disabled in the merchant settings. |
200 | Missing or invalid request parameter |
340 | Transaction not found |
350 | Transaction blocked |
360 | Transaction is expired |
365 | The lifetime of the recurrent profile has expired |
373 | The operation is not available for the current transaction status |
400 | The payment was canceled by the buyer or the payment system |
420 | Payment cancelled due to limit exceeded |
465 | Error connecting to payment system |
466 | SSL certificate expired |
470 | Error on the payment system side |
475 | General failure of the payment system |
490 | Payment cancellation is not possible |
600 | General error |
700 | Error in data entered by buyer |
701 | Incorrect phone number |
711 | The phone number is not acceptable for the selected PS |
850 | None of the payment systems are ready to accept the request |
1000 | Internal service error (may not reoccur upon repeated request) |
*To analyze the reasons for the signature error that occurred, you can use the "Request signature check" page in your Personal Account.
Reasons for refusal
Refusal code | Description of the reason for refusal |
---|---|
0 | No error (the description will show an empty line) |
1 | Unknown reason for refusal |
2 | General error |
3 | Error on the payment system side |
4 | Failed to issue an invoice to any of the payment systems |
5 | Invalid request to the payment system |
40 | Exceeding limits |
50 | Payment cancelled |
100 | Error in buyer data |
101 | Incorrect phone number |
300 | Incorrect transaction by card |
301 | Incorrect card number |
302 | Invalid cardholder name |
303 | Invalid value CVV2/CVC2 |
304 | Invalid card expiration date |
305 | This type of card is not supported by the bank |
306 | Incorrect amount |
310 | Client card is expired |
315 | Invalid payment token |
320 | Refusal for security reasons |
321 | 3ds authentication failed |
329 | The card has been stolen, lost or compromised. |
330 | Unknown acquiring bank |
340 | Unknown issuing bank |
350 | Exceeding the number of uses of the client's card for a certain period of time |
351 | Exceeding the card limit set by the issuer. |
352 | There are not enough funds in the client's account |
353 | Refusal from the issuing bank without explanation. |
354 | The transaction is not allowed for the acquirer's bank |
355 | The issuer prohibits online payment for this card |
389 | General technical error of the system |
390 | Card restrictions |
391 | The card is blocked |
392 | Repeated request not allowed |
400 | The transaction is blocked by the decision of fraud filters |
410 | The client has not confirmed his phone number |
Moneybacksystems and parameters
Payment system name | Description of the payment system |
---|---|
BANKTRANSFER_WALLET_ONE_LEGAL | Payment of moneyback funds to the account of a legal entity |
TEST | Test payment system |
BANKTRANSFER_WALLET_ONE_LEGAL
First, all recipients must be registered in the system through the manager.
Parameter | Description |
---|---|
inn | Recipient's TIN |
TEST
Parameter | Description |
---|---|
account_number | Random 12 digits |
Moneyback statuses
Status (pg_moneyback_status) | Description |
---|---|
pending | The transaction was created but not sent to the payment system |
ok | The transaction was sent to the payment system but was not received by the user |
received | ТThe transaction has been received by the user. This is the final status |
canceled | The transaction was cancelled before the user received the money. This is the final status |