PayMFC | Генерация ссылок

Ссылка для оплаты генерируется в три этапа:

  1. Генерация ссылки запроса
    Ссылка запроса должна иметь следующий вид:
    https://paymfc.ml:444/PUBLIC_KEY/PRODUCT_ID
    

    Где PUBLIC_KEY заменяется на публичный ключ магазина вида zgrdqHk0JGCSyqIK4L5R, а PRODUCT_ID заменяется на идентификатор товара или корзины, который должен быть закодирован как компонент ссылки согласно RFC 3986.

  2. Дополнительные данные
    Если существуют дополнительные данные, их можно добавить в конец ссылки запроса в виде параметра 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
    
  3. Генерация результирующей ссылки для оплаты (которая потом выкладывается на сайт) (псевдокод):
    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
    

Всё, вы можете сверить результаты приведённые выше и результаты вашей реализации. Если всё совпало — поздравляем, вы это сделали!

Вернуться на главную