Raidopay API ვებ დეველოპერებისთვის

რეგისტრაცია და ვერიფიკაცია

1) დარეგისტრირება RaidoPay–ს ანგარიშით https://secure.raidopay.com/site/signup

2) შედით სისტემაში და გადადით მერჩანთის შექმნის გვერდზე: https://secure.raidopay.com/merchant

3) შეავსეთ საჭირო ველები მარცხენა მხარეს და მიუთითეთ გადახდის მეთოდები თქვენი მერჩანთისთვის მარჯვენა მხარეს. ვებსაიტის მისამართი უნდა შეიცავდეს პროტოკოლს, მაგალითად: https://my-merchant-site.com .
შემდეგ დააჭირეთ "მოთხოვნის გაზავნას". დამატებული საიტი გაცნდებაგვერდის ქვედა ნაწილში. მერჩანთის პარამეტრების სანახავად უბრალოდ დააჭირეთ საიტის ბმულს.

4) დაასრულეთ ვებსაიტის ვერიფიკაცია : https://secure.raidopay.com/verification/merchant .
აირჩიეთ საიტი და დააჭირეთ "დასტურის" ღილაკს. თქვენი ვებსაიტის ვერიფიკაციასთან დაკავშირებით შეიქმნება ავტომატური მხარდაჭერის მოთხოვნა. შეინახეთ გენერირებული ტექსტის ფაილი თქვენი წებსაიტის ძირეულ ფოლდერში. არ შეუცვალოთ სახელი ფაილს.

ფაილი უნდა იყოს მისაწვდომი ამის მსგავსი ბმულის გამოყენებით:
https://my-merchant-site.com/6023275085114c5c1b7c4ddc1998d447.txt

ინტეგრაცია

1) აირჩიეთ დამატებული საიტი გვერდის ქვედა სიიდან: https://secure.raidopay.com/merchant

თქვენ დაგჭირდებათ შემდეგი პარამეტრები:

  • Merchant ID
  • Secret
  • Payment Methods ID

2) გადახდის შექმნა.

გადახდის პარამეტრები ეთითება ასოციაციური მასივის სახით. შემდეგ ისინი კოდირდება და იქმნება წარწერა ჰეშის სახით.

პარამეტრი გასაღები აღწერა
მერჩანთი merchant თქვენი მერჩანთის ID
ორდერი order ორდერის ნომერი თქვენ სისტემაში
ფასი amount თანხა რომელსაც ელოდებით მყიდველისაგან
ვალუტა currency ვალუტა რომელშიც არის მითითებული ფასი
აღწერა desc გადახდის აღწერა (არ არის აუცილებელი)
გადახდის მეთოდი method Payment Method ID (არ არის აუცილებელი)
Показать кнопку выбора метода оплаты allowchoice Если параметр allowchoice = true , то будет выводиться кнопка для выбора других платежных методов на странице оплаты. Если параметр не задан то нет. (არ არის აუცილებელი)
$params = [
	'merchant'  => 235,
	'order'     => '12345ABC',
	'amount'    => 51.3,
	'currency'  => 'EUR',
	'desc'     => 'purchase #43968',
];
$secret = 'Your_Secret';
$data = base64_encode(json_encode($params));
$sign = hash_hmac('sha256', $data, $secret);
                

თუ პარამეტრებში დასვამთ მეთოდს, მაგალითად:
$params['method'] => 123,
გადახდის ღილაკზე დაჭერის შემდეგ კლიენტი ავტომატურად გადავა გადახდის გვერდზე მითითებული მეთოდის მეშვეობით.

Доступные методы:

Метод Payment Methods ID
Bitcoin 2
Etherium 3

თუ მეთოდად ცარიელ ხაზს მიუთითებთ:
$params['method'] => '',
გადახდის ღილაკზე დაჭერის შედეგ კლიენტი ავტომატურად გადაინაცვლებს გადახდის გვერდზე RaidoPay–ს პირადი კაბინეტით.

3) გადახდის ფორმის შექმნა.

მასში აუცილებელია მიუთითოთ მიღებული მნიშვნელობები $data და $sign. სედეგად გადახდის ფორმა მიიღებს შემდეგ სახეს:

<form action="https://secure.raidopay.com/api/merchant" method="post">
	<input type="hidden" name="data"
           value="eyJtZXJjaGFudCI6IjQiLCJvcmRlciI6IjIzNTMyNjIzMyIsImN1cnJlbmN5IjoiVVNEIiwiYW1vdW50IjoiNTEuNDAiLCJ==">
	<input type="hidden" name="sign" value="b657953b504975057c7a466b0131583daea940b12fdb26fbba84a36ec83518b2">
	<button type="submit">Pay</button>
</form>

RaidoPay მოიხმარს რამდენიმე ენას. რათა მიუთითოთ კონკრეტული ენა გადახდის გვერდისათვის საჭიროა გააგზავნოთ ფორმა შემდეგ მისამართზე: https://secure.raidopay.com/ru/api/merchant

4) მიუთითეთ გადახდის დამმუშავებელი.

გადახდის შესრულების შემდეგ მისი დეტალები გაიგზავნება თქვენი მერჩანთის საპროცესო URL–ზე.
გთხოვთ დაუკავშირდეთ RaidoPay–ს მხარდაჭერას რათა მიუთითოთ საპროცესო URL:
https://secure.raidopay.com/support

მონაცემები ასოციატიური მასივის სახით გადაეცემა გადახდის პეოცესორს POST მოთხოვნის გამოყენებით.
მონაცემებს ექნებათ შემდეგი სტრუქტურა:

$_POST = [
	'order' => string,
	'data' => array,
	'sign' => string,
];
                    

ინფორმაცია როელიც 'data', გასაღების ქვეშ ინახება, თავის მხრივ ატარებს ასოციაციური მასივის ხასიათს:

პარამეტრი გასაღები აღწერა
ინვოისის თარიღი date ინვოისის წარდგენის თარიღი
გადახდის თარიღი payDate ანგარიშის გადახდის თარიღი
ინვოისის თანხა amount თქვენმიერ წარდგენილი ინვოისის თანხა
ინვოისის ვალუტა currency თქვენმიერ წარდგენილი ინვოისის ვალუტა
გადახდის მეთოდი method იმ მეთოდის დასახელება რომლითაც განხოციელდა გადახდა
გადახდის ვალუტა methodCurrency ვალუტა რომლითაც ხდება ინვოისის გადახდა
გადახდის თანხა methodAmount ინვოისის თანხა გადაყვანილი ინვოისის გადახდის ვალუტაში
ჯამური თანხა methodAmount ჯამური თანხა გადახდის ვალუტაში საკომისიოს გათვალისწინებით
Raido ტრანზაქცია transaction RaidoPay–ს ტრანზაქციის ნომერი
ტრანზაქცია ქსელში transactionNetwork ტრანზაკციის ნომერი ბლოკჩეინში
ჩარიცხვის ვალუტა transactionCurrency ვალუტა რომლითაც ჩაირიცხა თანხა მერჩანთზე RaidoPay–ს სისტემაში
ჩარიცხვის თანხა transactionAmount RaidoPay–ს სისტემაში მერჩანთზე ჩარიცხული თანხების ჯამი
ჯამური თანხა transactionTotal ტრანზაქციის ჯამური თანხა RaidoPay–ს სისტემაში საკომისიოს გაოკლებით.
აღწერა desc გადახდის აღწერა
გადახდის დაგვიანება cautionPaymentDelay გადახდის დაგვიანება წამებში. აღინიშნება თუ მყიდველმა განახორციელა გადახდა მაგრამ რაღაც მიზეზებით ის მივიდა RaidoPay–ში დაგვიანებით.
ნაწილობრიი გადახდა cautionPartialPayment კერძო გადახდის თანხა ჩარიცხვის ვაალუტაში RaidoPay–ს სისტემაში ისახება თუ კლიენტმა განახორციელა არასრული გადახდა მაგალითად კრიპტო ვალუტის გადაგზავნისას.

გადაცემულ პარამეტრებზე საპასუხოდ ჩვენი სერვისი დაელოდება თქვენ პასუხს.
პასუხი უნდა გამოიყურებოდეს შემდეგნაირად:

  • იწყება სიტყვებით 'success' ან 'error'.
  • შემდეგ '|' ნიშანიდან შესაძლოა შეიცავდეს მყიდველის გადამისამართების URL–ს.
  • უნდა შეიცავდეს არაუმეტეს 225 სიმბოლოსა.

უმარტივესი გადამმუშავებლის მაგალითი:

$post = $_POST;
$secret = 'Your_Secret';
if (isset($post['order'], $post['data'], $post['sign'])) {
	$data = base64_encode(json_encode($post['data']));
	$sign = hash_hmac('sha256', $data, $secret);
	if ($sign == $post['sign']) {
		if (isset($post['data']['cautionPartialPayment'])) {
			exit("error|https://my-merchant-site.com/payment/error/?order={$post['order']}");
		}
		exit("success|https://my-merchant-site.com/payment/complete/?order={$post['order']}");
	}
}
                

ბიტკოინის გადარიცხვები აისახება თქვენი მერჩათის ანგარიშზე მხოლოდ 3 დადასტურების შემდეგ,მაშინ როცა შეტყობინება process URL–ზე იგზავნება მხოლოდ 2 დადასტურების შემდეგ.

გადახდა RaidoPay–ს სისტემაში კი არ იქნება დასრულებული სანამ გადახდა არ იქნება დამუშავებუი თქვენი საიტის მიერ და არ იქნება გამოგზავნილი კორექტული პასუხი.

თქვენი გადახდის დამმუშავებლისგან კორექტული პასუხის მიღების შემდეგ მყიდველს მიუვა შეტყობინება წარმატებული/წარუმატებელი ოპერაციის შესახებ და ასევე შესთავაძებენ გადასვლას მითითებულ URL–ზე მისის გადაცემის შემთხვევაში.

ავთენტიფიკაცია

ავთენტიფიკაცია ხდება Http Bearer Token–ის მეშვეობით. token–ი გაიცემა მოთხოვნის გაგზავნის შემდეგ. პასუხი სერვერისგან JSON ფორმატში .

ინფორმაცია ავტორიზირებულ მომხმარებელზე

https://secure.raidopay.com/api/

curl -X GET "https://secure.raidopay.com/api/" -H "accept: application/json" -H "Authorization: Bearer a9ac071cda6f4bd6e20d29695c9a4533"

Example for to PHP:

if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'https://secure.raidopay.com/api/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
$headers = array();
$headers[] = 'Authorization: Bearer a9ac071cda6f4bd6e20d29695c9a4533';
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$out = curl_exec($curl);
curl_close($curl);
}
                    

ტრანზაქციების ისტორია

https://secure.raidopay.com/api/history

account - იმ საფულის ნომერი რომლის ისტორიაც უნდა იყოს განხილული

curl -X POST "https:// secure.raidopay.com/api/history " -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -d "account=RD1234567" -H "Authorization: Bearer a9ac071cda6f4bd6e20d29695c9a4533"

Example for to PHP:

$postData = array (
'account' => 'RD1234567',
);
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'https://secure.raidopay.com/api/history');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
$headers = array();
$headers[] = 'Authorization: Bearer a9ac071cda6f4bd6e20d29695c9a4533';
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData));
$out = curl_exec($curl);
curl_close($curl);
}
                

ინფორმაცია ბალანსზე

https://secure.raidopay.com/api/balance

account - იმ საფულის ნომერი რომლის ბალანსიც უნდა იყოს განხილული

currency - ვალუტა

curl -X POST "https:// secure.raidopay.com/api/balance " -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -d "account=RD1234567¤cy=USD" -H "Authorization: Bearer a9ac071cda6f4bd6e20d29695c9a4533"

Example for to PHP:

$postData = array (
'currency' => 'USD',
'account' => 'RD1234567',
);
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'https://secure.raidopay.com/api/balance');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
$headers = array();
$headers[] = 'Authorization: Bearer a9ac071cda6f4bd6e20d29695c9a4533';
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData));
$out = curl_exec($curl);
curl_close($curl);
}
                

გადახდები \ მასობრივი გადახდები

https://secure.raidopay.com/api/payout

merchant - მერჩანთის ID RAIDOPAY–ს სისტემაში

to - საფულის ნომერი, email–ი, ტელეფონის ნომერი ან მიმღების კრიპტო მისამართი RAIDOPAY–ს სისტემაში

amount - გადახდის თანხა

currency - გადახდის ვალუტა

fee - признак того , кто платит комиссию. Если не задан, то платит мерчант, если true или 1 - то платит клиент

curl -X POST "https://secure.raidopay.com/api/payout" -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -d "merchant=123456&to=RD1234567&amount=10¤cy=USD" -H "Authorization: Bearer a9ac071cda6f4bd6e20d29695c9a4533"

აბრუნებს JSON ხაზს ტრანზაქციის ნომრით ჭარმატებული ოპერაციის შემთხვევაში.

Example for to PHP:

$postData = array (
'amount' => 10,
'currency' => 'USD',
'to' => 'client@gmail.com',
'merchant' => 12345678,
);
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'https://secure.raidopay.com/api/payout');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
$headers = array();
$headers[] = 'Authorization: Bearer a9ac071cda6f4bd6e20d29695c9a4533';
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData));
$out = curl_exec($curl);
curl_close($curl);
}
                

ფულის გაგზავნა

https://secure.raidopay.com/api/transfer

from - თქვენი საფულის ნომერი, რომლიდანაც განხორციელდება გადახდაe

to - საფულის ნომერი, email–ი, ტელეფონის ნომერი ან მიმღების კრიპტო მისამართი RAIDOPAY–ს სისტემაში

გადახდის თანხა

გადახდის ვალუტა

curl -X POST "https://secure.raidopay.com/api/transfer" -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -d "from=RD1234567&to=RD1234568&amount=10¤cy=USD" -H "Authorization: Bearer a9ac071cda6f4bd6e20d29695c9a4533"

აბრუნებს JSON ხაზს ტრანზაქციის ნომრით ჭარმატებული ოპერაციის შემთხვევაში.

Example for to PHP:

$postData = array (
'from' => 'RD1234567',
'to' => 'RD1234568',
'amount' => 10,
'currency' => 'USD',
);
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'https://secure.raidopay.com/api/transfer');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
$headers = array();
$headers[] = 'Authorization: Bearer a9ac071cda6f4bd6e20d29695c9a4533';
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData));
$out = curl_exec($curl);
curl_close($curl);
}
                

ხელმისაწვდომი საფულის შემოწმება

https://secure.raidopay.com/api/check-account

საფულის ნომერი რომელიც უნდა შემოწმდეს

curl -X POST "ttps://secure.raidopay.com/api/check-account" -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -d "account=RD1234567" -H "Authorization: Bearer a9ac071cda6f4bd6e20d29695c9a4533"

აბრუნებს JSON ხაზს true ან false–ით

{"success":true}

Example for to PHP:

$postData = array (
'account' => 'RD1234567',
);
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'https://secure.raidopay.com/api/check-account');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
$headers = array();
$headers[] = 'Authorization: Bearer a9ac071cda6f4bd6e20d29695c9a4533';
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData));
$out = curl_exec($curl);
curl_close($curl);
}
                

Индивидуальные выплаты

Обращение по api к выплатам требует передачи заголовка для аутентификации

Headers 
Authorization: Bearer {{access_token}}

Первый шаг - это запрос предложения

https://secure.raidopay.com/api/withdrawal/request

POST:

Обязательные параметры
პარამეტრი აღწერა
amount Запрашиваемая сумма вывода
currency Валюта запрашиваемой суммы вывода
currency_in Валюта перевода
account_in Аккаунт для перевода (можно указывать email, кошельки, крипто адреса и пр.)
order Идентификатор заказа у Мерчанта
merchant მერჩანთის ID RAIDOPAY–ს სისტემაში
Дополнительные параметры
client_id Идентификатор клиента у Мерчанта
desc Произвольное описание транзакции

Второй шаг - это подтверждение запроса

https://secure.raidopay.com/api/withdrawal/confirm

POST:

პარამეტრი აღწერა
offer_id ID предложения в системе Raidopay
merchant მერჩანთის ID RAIDOPAY–ს სისტემაში
sign Подпись

Подпись формируется следующим образом:

$sign = hash_hmac('sha256', $offer_id . $merchant, {{secret}});
                    

Ответ возвращается в формате JSON.:

Пример хорошего ответа:

{"status":"success","tx":"5B89B69E5533B2A9F2CAC64B6"}

tx - хэш транзакции в системе Raidopay

Пример ответа с ошибкой:

{"name":"Bad Request","message":"Amount cannot be blank.","code":0,"status":400}
{"name":"Bad Request","message":"Offer already paid","code":100,"status":400}