Формируем ID счета для отправки в платежную систему вместе с данными платежа
call pANY_www`("GetInvoiceForPaymentSystem",
JSON_OBJECT(
"CouterpartsID",:CouterpartsID,
"id_rbFirms",:id_rbFirms,
"total",:total,
"commision",:commision,
"note",':comment',
"OrderID",:OrderID,
"base",':base',
"email",':email'),"ru")
/*
ГДЕ:
CouterpartsID - глобальный ID клиента
id_rbFirms - ID организации, на которую будет зачислен платеж
total - сумма платежа
commision - сумма комиссии, можно передать позже, после успешной операции
note - комментарий (например способ оплаты Visa)
base - основание для печати чека, если делается просто пополнение счета
OrderID - ID документа Заказа, если передаем, то base можно передать пустым, в чеке будет указан перечень товаров из заказа.
email - эл.почта для отправки кассового чека
ОТВЕТ:
InvoiceID - ID счета
В СЛУЧАЕ ОШИБКИИ:
isError - 1
mess - описание ошибки
*/
Если платежный агрегатор (банк) возвращает внешний код заказа ID, то сохраняем его:
call pANY_www`("SetInvoiceIDFromPaymentSystem",
JSON_OBJECT(
"ID",:InvoiceID,
"OutOrderID",:OutOrderID
),"ru")
/*
ГДЕ:
InvoiceID - наш внутренний ID счета
OutOrderID - внешний код заказа платежного агрегатора
*/
Если для подтверждения платежа потребуется внешний код заказа агрегатора, выполняем запрос:
call pANY_www`("GetInvoiceIDFromPaymentSystem",
JSON_OBJECT(
"ID",:InvoiceID
),"ru")
/*
ГДЕ:
InvoiceID - наш внутренний ID счета
*/
Выполняем зачисление оплаты в программе:
call pANY_www("InvoiceSuccesForPaymentSystem",
JSON_OBJECT(
"InvoiceID",:InvoiceID,
"total",:total,
"commision",:commision
),"ru")
/*
ГДЕ:
InvoiceID - наш внутренний ID счета
total - сумма для проверки, если не передать параметр, то проверки по сумме не будет
commision - комиссия платежной системы для списания в расходы
ОТВЕТ:
res - В случае успешности вернет значение SUCCESS
В СЛУЧАЕ ОШИБКИИ:
isError - 1
mess - описание ошибки
*/