Пример выставления счета cloudpayments

Данный раздел подойдет для тех, кто самостоятельно интегрирует оплаты в свои мобильные приложения (МП) и личный кабинет (ЛК).

Весь механизм оплат и все оплаты реализуется и хранится на стороне клиента.

Пример кода php, для выставления счета

<?
// формируем счет
      $curl = curl_init();
      try {
         $post_data = (object)array(
            "InvoiceId" => $dor_id,
            "AccountId" => $contr_id,
            "Amount" => $amount,
            "Currency" => "RUB",
            "Description" => "Оплата заказа №{$doc_num}",
            "RequireConfirmation" => false,
            "SendSms" => false,
            "SendViber" => false,
            "SendEmail" => false,
            "JsonData" => (object)array(
               'dor_id' => $dor_id,
               'firm_id' => $firm_id,
               'doc_num' => $doc_num,
               'contr_id' => $contr_id,
               'CompanyID' => $him_id,
               'hardware_type' => $hardware_type
            )
         );
         if (isset($phone))
            $post_data->{"Phone"} = $phone;
         if (isset($email))
            $post_data->{"Email"} = $email;
         
         $str = json_encode($post_data, JSON_UNESCAPED_UNICODE);

         curl_setopt_array($curl,
            array(
               CURLOPT_URL => url_add_invoice,
               CURLOPT_RETURNTRANSFER => true,
               CURLOPT_SSL_VERIFYPEER => false,
               CURLOPT_POST => true,
               CURLOPT_USERPWD => $PublicID.':'.$ApiSecret,
               CURLOPT_HTTPHEADER => array('Content-Type: application/json'),
               CURLOPT_POSTFIELDS => $str
            )
         );
         $res = curl_exec($curl);
         WriteLog("res=$res", FILE_NAME);

         $result_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
      }
      finally {
         curl_close($curl);
      }

где $dor_id - id заказа, обязательный параметр;
$contr_id - id клиента, обязательный параметр;
$amount - сумма оплаты, обязательный параметр;
$doc_num - номер заказа, обязательный параметр;
$firm_id - ID фирмы на которую оформлен заказ, обязательный параметр;
$phone - номертелефона клиента, не обязательный параметр;
$email - адрес e-mail, не обязательный параметр;
$him_id - Индентификатор химичистки для Апетты = 53, обязательный параметр;
$hardware_type - Индентификатор устройства откуда делается оплата, обязательный параметр,
Значения для hardware_type:
0 - Химчистка,
1 - Агбис.Приемка,
2 - Агбис.Приемка(Чистомен),
3 - Чистомат,
4 - ЛК,
5 - ПСК,
6 - ПМП,
7 - Ссылка на заказ,
8 - Выставляемый счет,
9 - QR на квитанции.

обязательно заполняется этими значениями:
"InvoiceId" ⇒ $dor_id,
"AccountId" ⇒ $contr_id

JsonData - обязательно заполняется, в него входят соответствующие параметры:
'dor_id' ⇒ $dor_id
'firm_id' ⇒ $firm_id
'doc_num' ⇒ $doc_num
'contr_id' ⇒ $contr_id
'CompanyID' ⇒ $him_id
'hardware_type' ⇒ $hardware_type