/
IA рСгулярний ΠΏΠ»Π°Ρ‚Ρ–ΠΆ ΠΏΠΎ Ρ‚ΠΎΠΊΠ΅Π½Ρƒ

IA рСгулярний ΠΏΠ»Π°Ρ‚Ρ–ΠΆ ΠΏΠΎ Ρ‚ΠΎΠΊΠ΅Π½Ρƒ

Π¦Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΠΎΠ½Π°Π» Π±ΡƒΠ΄Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΎΠ²Π°Π½ΠΎ після вашого Π·Π°ΠΏΠΈΡ‚Ρƒ Π² Π³Ρ€ΡƒΠΏΠΎΠ²ΠΎΠΌΡƒ Ρ‡Π°Ρ‚Ρ–.


Зміст

Β 


Опис

Β 

РСгулярний ΠΏΠ»Π°Ρ‚Ρ–ΠΆ дозволяє Ρ€ΠΎΠ±ΠΈΡ‚ΠΈ списання ΠΊΠΎΡˆΡ‚Ρ–Π² Π±Π΅Π· участі ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°.

Π’ Π·Π°ΠΏΠΈΡ‚Ρ– Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡ”Ρ‚ΡŒΡΡ Ρ€Π°Π½Ρ–ΡˆΠ΅ Π·Π±Π΅Ρ€Π΅ΠΆΠ΅Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΊΠ° Ρƒ вигляді Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΎΠ³ΠΎ CARD_TOKEN, який ΠΌΠΎΠΆΠ½Π° ΠΎΡ‚Ρ€ΠΈΠΌΠ°Ρ‚ΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€ΡˆΡ–ΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†Ρ–Ρ— ΠΏΠΎ ΠΊΠ°Ρ€Ρ‚Ρ†Ρ–.


Π’ΠΈΠΌΠΎΠ³ΠΈ

Β 


API ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ

Β 

HTTP METHOD: POST

API ENDPOINT: https://secure.platononline.com/post-unq/

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

ЗначСння

Опис

ΠžΡΠΎΠ±Π»ΠΈΠ²ΠΎΡΡ‚Ρ–

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

ЗначСння

Опис

ΠžΡΠΎΠ±Π»ΠΈΠ²ΠΎΡΡ‚Ρ–

action
status:обов'язковий

SALE

Код ΠΏΠ»Π°Ρ‚Ρ–ΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

Β 

client_key
status:обов'язковий

String

API ΠΊΠ»ΡŽΡ‡ ΠΌΠ΅Ρ€Ρ‡Π°Π½Ρ‚Π°

ΠšΠ»ΡŽΡ‡ Π½Π°Π΄Π°Ρ”Ρ‚ΡŒΡΡ Π½Π° ΠΏΠΎΡˆΡ‚Ρƒ ΠΌΠ΅Ρ€Ρ‡Π°Π½Ρ‚Ρƒ

order_id
status:обов'язковий

String

ID ΠΎΠΏΠ»Π°Ρ‚ΠΈ Π² систСмі ΠΌΠ΅Ρ€Ρ‡Π°Π½Ρ‚Π°

Max 32 символи

order_amount
status:обов'язковий

Number

Π‘ΡƒΠΌΠ° ΠΎΠΏΠ»Π°Ρ‚ΠΈ

Π’Ρ–Ρ€Π½ΠΈΠΉ Π²Π°Ρ€Ρ–Π°Π½Ρ‚

1000.00

НСвалідні Π²Π°Ρ€Ρ–Π°Π½Ρ‚ΠΈ

1000
1000.0
1,000.0
1,000.00

order_currency
status:обов'язковий

UAH

Π’Π°Π»ΡŽΡ‚Π°

ΠžΠΏΠ»Π°Ρ‚Π° ΠΌΠΎΠΆΠ»ΠΈΠ²Π° лишС Π² Π½Π°Ρ†Ρ–ΠΎΠ½Π°Π»ΡŒΠ½Ρ–ΠΉ Π²Π°Π»ΡŽΡ‚Ρ– Π³Ρ€ΠΈΠ²Π½Ρ–

order_description
status:обов'язковий

String

Опис

Max 255 символів

card_token
status:обов'язковий

String

Π’ΠΎΠΊΠ΅Π½ ΠΊΠ°Ρ€Ρ‚ΠΊΠΈ

card_token Π· callback ΠΏΠ΅Ρ€ΡˆΠΎΡ— ΠΎΠΏΠ»Π°Ρ‚ΠΈ

payer_email
status:обов'язковий

String

ΠŸΠΎΡˆΡ‚Π° ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°

Π’Π°Π»Ρ–Π΄Π½Π° ΠΏΠΎΡˆΡ‚Π°

Π‘Π΅Π· ΠΏΡ€ΠΎΠ±Ρ–Π»Ρ–Π²

payer_ip
status:обов'язковий

Number

IP-адрСс ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°

Π’ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ– "Π₯Π₯Π₯.Π₯Π₯Π₯.Π₯Π₯Π₯.Π₯Π₯Π₯"

IPv6 Π½Π΅ ΠΏΡ–Π΄Ρ‚Ρ€ΠΈΠΌΡƒΡ”Ρ‚ΡŒΡΡ

term_url_3ds
status:обов'язковий

String

Посилання ΠΊΡƒΠ΄ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊ після ΠΏΡ€ΠΎΠ±ΠΈ ΠΎΠΏΠ»Π°Ρ‚ΠΈ (ΡƒΡΠΏΡ–ΡˆΠ½ΠΎΡ— Ρ‡ΠΈ Π½Π΅Π²Π΄Π°Π»ΠΎΡ—)

Β 

ext3
status:обов'язковий

recurring

Ознака рСгулярної ΠΎΠΏΠ»Π°Ρ‚ΠΈ

Β 

hash
status:обов'язковий

String

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΈΠΉ підпис

md5( strtoupper( strrev($payer_email). $client_pass. strrev($card_token) ) )

Π―ΠΊΡ‰ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΡ‡Π°Ρ‚ΠΊΠΎΠ²ΠΎΠΌΡƒ Π·Π°ΠΏΠΈΡ‚Ρ– Π½Π° ΠΎΠΏΠ»Π°Ρ‚Ρƒ Π½Π΅ Π±ΡƒΠ»ΠΎ Π²ΠΊΠ°Π·Π°Π½ΠΎ email, Ρ‚ΠΎ слід Π²ΠΊΠ°Π·Π°Ρ‚ΠΈ ΠΏΠΎΡ€ΠΎΠΆΠ½Ρ” значСння для email.

async
status:нС обов'язковий

Y
N

Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΠΈ асинхронний Ρ€Π΅ΠΆΠΈΠΌ

Π’ асинхронному Ρ€Π΅ΠΆΠΈΠΌΡ– ΠΎΠ±ΠΎΠ²'язковС використання ΠΊΠΎΠ»Π±Π΅ΠΊΡ–Π².
Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Π΅ значСння N

channel_id
status:нС обов'язковий

String

Π”ΠΎΠ΄Π°Ρ‚ΠΊΠΎΠ²ΠΈΠΉ ΠΏΠ»Π°Ρ‚Ρ–ΠΆΠ½ΠΈΠΉ ΠΊΠ°Π½Π°Π»

Дозволяє Π²Ρ–Π΄ΠΏΡ€Π°Π²ΠΈΡ‚ΠΈ ΠΎΠΏΠ»Π°Ρ‚ΠΈ Π½Π° Ρ–Π½ΡˆΠΈΠΉ Π±Π°Π½ΠΊΡ–Π²ΡΡŒΠΊΠΈΠΉ Ρ‚Π΅Ρ€ΠΌΡ–Π½Π°Π»

payer_first_name
status:нС обов'язковий

String

Π†ΠΌ'я ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°

Max 32 символи Π±Π΅Π· ΠΏΡ€ΠΎΠ±Ρ–Π»Ρ–Π²

payer_last_name
status:нС обов'язковий

String

ΠŸΡ€Ρ–Π·Π²ΠΈΡ‰Π΅ ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°

Max 32 символи Π±Π΅Π· ΠΏΡ€ΠΎΠ±Ρ–Π»Ρ–Π²

payer_address
status:нС обов'язковий

String

АдрСса ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°

Max 256 символів

payer_country
status:нС обов'язковий

String

ΠšΡ€Π°Ρ—Π½Π° ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°

Π’ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ– "Π₯Π₯"
Max 2 символи
Π’ΠΊΠ°ΠΆΡ–Ρ‚ΡŒ NA, якщо Π½Π΅ΠΌΠ°Ρ” Π΄Π°Π½ΠΈΡ…

payer_state
status:нС обов'язковий

String

Π¨Ρ‚Π°Ρ‚ ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°

Π’ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ– "Π₯Π₯"
Max 2 символи
Π’ΠΊΠ°ΠΆΡ–Ρ‚ΡŒ NA, якщо Π½Π΅ΠΌΠ°Ρ” Π΄Π°Π½ΠΈΡ…

payer_city
status:нС обов'язковий

String

ΠœΡ–ΡΡ‚ΠΎ ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°

Max 32 символи
Π’ΠΊΠ°ΠΆΡ–Ρ‚ΡŒ NA, якщо Π½Π΅ΠΌΠ°Ρ” Π΄Π°Π½ΠΈΡ…

payer_zip
status:нС обов'язковий

String

ΠŸΠΎΡˆΡ‚ΠΎΠ²ΠΈΠΉ індСкс ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°

Max 32 символи
Π’ΠΊΠ°ΠΆΡ–Ρ‚ΡŒ NA, якщо Π½Π΅ΠΌΠ°Ρ” Π΄Π°Π½ΠΈΡ…

payer_phone
status:нС обов'язковий

Number

НомСр Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρƒ ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°

Π’ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ– β€œ380XXXXXXXXX”
Max 32 символів

customer_wallet
status:нС обов'язковий

String

НомСр Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠ³ΠΎ гаманця ΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°

ПолС ΠΎΠ±ΠΎΠ²'язковС для Ρ‚ΠΈΠΏΡ–Π² бізнСсу ΠΏΠΎΠ²'язаних Π· Π²Ρ–Ρ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΈΠΌΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ


ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ Π·Π°ΠΏΠΈΡ‚Ρƒ

Β 

<?php $client_pass='***'; $data['action']='SALE'; $data['client_key']='***'; $data['order_id']='458-3453'; $data['order_amount']='1000.00'; $data['order_currency']='UAH'; $data['order_description']='test'; $data['card_token'] = '*****'; $data['payer_phone']='380111111111'; $data['payer_email']='sale@gmail.com'; $data['payer_ip']='213.186.115.164'; $data['term_url_3ds']='http://google.com'; $data['hash'] = md5( strtoupper( strrev($data['payer_email']). $client_pass. strrev($data['card_token']) ) ); $url = 'https://secure.platononline.com/post-unq/'; $crq = curl_init(); curl_setopt($crq, CURLOPT_URL, $url); curl_setopt($crq, CURLOPT_HEADER, 0); curl_setopt($crq, CURLOPT_POST, 1); curl_setopt($crq, CURLOPT_RETURNTRANSFER, 1); curl_setopt($crq, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($crq, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($crq, CURLOPT_POSTFIELDS, http_build_query($data)); $result = curl_exec($crq); if (curl_errno($crq)) { echo 'ERROR: '.curl_error($crq); }else{ echo $result; } curl_close($crq);

ВСстування

Β 

Π’ цілях тСстування використовуйтС card_token ΠΎΡ‚Ρ€ΠΈΠΌΠ°Π½ΠΈΠΉ Π· ΠΊΠΎΠ»Π»Π±Π΅ΠΊΠ° ΡƒΡΠΏΡ–ΡˆΠ½ΠΎΡ— Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†Ρ–Ρ— ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π· Π²ΠΊΠ°Π·Π°Π½ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ–Π²:

  • IE ΠΎΠΏΠ»Π°Ρ‚Π° ΠΊΠ°Ρ€Ρ‚ΠΊΠΎΡŽ

  • ВСрифікація ΠΊΠ°Ρ€Ρ‚ΠΊΠΈ

  • C2A ΠΎΠΏΠ»Π°Ρ‚Π°

  • Π’ΠΈΠΏΠ»Π°Ρ‚Π° Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΊΡƒ ΠΏΠΎ ΠΏΠΎΠ²Π½ΠΎΠΌΡƒ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ΠΊΠ°Ρ€Ρ‚ΠΊΠΈ


ΠŸΠ΅Ρ€Π΅Π²Ρ–Ρ€ΠΊΠ° ΠΏΠ»Π°Ρ‚Π΅ΠΆΡ–Π²

Β 


Callback

Β 


Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ. ΠŸΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΠΈ async = N Π½Π΅ ΠΏΠΎΡ‚Ρ€Ρ–Π±Π½ΠΎ.


Асинхронний Ρ€Π΅ΠΆΠΈΠΌ

Π¦Π΅ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π°ΠΊΡ‚ΠΈΠ²ΡƒΡ”Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρ– async = Y. Π’ Ρ†ΡŒΠΎΠΌΡƒ Ρ€Π΅ΠΆΠΈΠΌΡ– ΠΎΠ±ΠΎΠ²'язково Π½Π΅ΠΎΠ±Ρ…Ρ–Π΄Π½ΠΎ використовувати callback.



ΠŸΡ€ΠΎΡ‚Π΅Ρ€ΠΌΡ–Π½ΠΎΠ²Π°Π½Ρ– Ρ‚ΠΎΠΊΠ΅Π½ΠΈ

Β 

Π―ΠΊΡ‰ΠΎ Ρƒ Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Ρ– Π½Π° Π·Π°ΠΏΠΈΡ‚ Π²ΠΈ ΠΎΡ‚Ρ€ΠΈΠΌΠ°Π»ΠΈ ΠΎΠ΄Π½Ρƒ Π· Π²ΠΊΠ°Π·Π°Π½ΠΈΡ… Π½ΠΈΠΆΡ‡Π΅ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…Ρ–Π΄Π½ΠΎ Π²ΠΈΠ΄Π°Π»ΠΈΡ‚ΠΈ Ρ†Π΅ΠΉ ΠΏΡ€ΠΎΡ‚Π΅Ρ€ΠΌΡ–Π½ΠΎΠ²Π°Π½ΠΈΠΉ Ρ‚ΠΎΠΊΠ΅Π½:

  • {"result":"ERROR","error_message":"Invalid card_exp_month, card_exp_year"}

  • {"result":"ERROR","error_message":"Invalid card_exp_month"}

  • {"result":"ERROR","error_message":"Initial transaction too old"}

Π¦Ρ– card_token Π·Π°Π±Π»ΠΎΠΊΠΎΠ²Π°Π½Ρ– Ρ‚Π° Π½Π΅ ΠΏΡ–Π΄Π»ΡΠ³Π°ΡŽΡ‚ΡŒ Π²Ρ–Π΄Π½ΠΎΠ²Π»Π΅Π½Π½ΡŽ ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ– блокування / закінчСння Ρ‚Π΅Ρ€ΠΌΡ–Π½Ρƒ Π΄Ρ–Ρ— ΠΊΠ°Ρ€Ρ‚ΠΊΠΈ.

НСобхідно ΠΎΡ‚Ρ€ΠΈΠΌΠ°Ρ‚ΠΈ Π½ΠΎΠ²ΠΈΠΉ card_token ΠΏΡ€ΠΎΠ²Ρ–Π²ΡˆΠΈ Π½ΠΎΠ²Ρƒ ΠΎΠΏΠ»Π°Ρ‚Ρƒ Ρ‡ΠΈ Π²Π΅Ρ€ΠΈΡ„Ρ–ΠΊΠ°Ρ†Ρ–ΡŽ.


Помилки Π·Π°ΠΏΠΈΡ‚Ρ–Π²

Β 

Related content