PayMFC | Генерация ссылок
Ссылка для оплаты генерируется в три этапа:
- Генерация ссылки запроса
Ссылка запроса должна иметь следующий вид:https://paymfc.ml:444/PUBLIC_KEY/PRODUCT_ID
Где
PUBLIC_KEY
заменяется на публичный ключ магазина видаzgrdqHk0JGCSyqIK4L5R
, аPRODUCT_ID
заменяется на идентификатор товара или корзины, который должен быть закодирован как компонент ссылки согласно RFC 3986. - Дополнительные данные
Если существуют дополнительные данные, их можно добавить в конец ссылки запроса в виде параметраdata
. Данные должны быть закодированы в JSON и затем как компонент ссылки согласно RFC 3986. Например (псевдокод):json_data = encode_json(data); url_data = encode_url_3986(json_data); url += '?data=' + url_data;
При входящих данных вида
{ test: 1, 'second prop': null }
url_data
должен быть следующим:%7B%22test%22%3A1%2C%22second%20prop%22%3Anull%7D
а ссылка, соответственно, выглядеть таким образом:
https://paymfc.ml:444/PUBLIC_KEY/PRODUCT_ID?data=%7B%22test%22%3A1%2C%22second%20prop%22%3Anull%7D
- Генерация результирующей ссылки для оплаты (которая потом выкладывается на сайт) (псевдокод):
result_url = 'mfcoin://_?r=' + encode_url_3986(url);
Таким образом результат должен получится следующим (без данных):
mfcoin://_?r=https%3A%2F%2Fpaymfc.ml%3A444%2FPUBLIC_KEY%2FPRODUCT_ID
или следующим (с данными, указанными выше):
mfcoin://_?r=https%3A%2F%2Fpaymfc.ml%3A444%2FPUBLIC_KEY%2FPRODUCT_ID%3Fdata%3D%257B%2522test%2522%253A1%252C%2522second%2520prop%2522%253Anull%257D
Всё, вы можете сверить результаты приведённые выше и результаты вашей реализации. Если всё совпало — поздравляем, вы это сделали!