Здесь показаны различия между двумя версиями данной страницы.
Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия Следущая версия Both sides next revision | ||
payment-links-specs [2015/01/19 13:02] admin |
payment-links-specs [2015/02/19 06:59] admin [Параметры платежной ссылки] |
||
---|---|---|---|
Строка 38: | Строка 38: | ||
| pay_for | String (100max) (Для «прямых» платежей можно использовать только цифры!) | Номер заказа, заявки, аккаунт пользователя и т.п. для идентификации платежа в системе магазина. | | | pay_for | String (100max) (Для «прямых» платежей можно использовать только цифры!) | Номер заказа, заявки, аккаунт пользователя и т.п. для идентификации платежа в системе магазина. | | ||
| md5 | string(32) | Подпись параметров ссылки, для защиты от изменений пользователем. Принцип формирования см. ниже. | | | md5 | string(32) | Подпись параметров ссылки, для защиты от изменений пользователем. Принцип формирования см. ниже. | | ||
- | | convert | "yes" или "no" (по умолчанию "yes") | Принудительная конвертация платежей в валюту ценника. Если включена – все поступающие платежи будут конвертироваться в валюту ценника. Т.е. если в ссылке установлена стоимость 100RUR, а клиент оплатил с помощью USD – вы получите на счет 100RUR. Если выключена, вы получите ту валюту, которой платит клиент. Т.е. например, пользователь платит 3.5WMZ за ваш товар стоимостью 100RUR – вы получите 3.5WMZ на свой WMZ счет в системе Onpay (при этом уведомление по API будет содержать 100RUR). | | + | | convert | "yes" или "no" (по умолчанию "yes") | Принудительная конвертация платежей в валюту ценника. Если включена – все поступающие платежи будут конвертироваться в валюту ценника. Т.е. если в ссылке установлена стоимость 100RUR, а клиент оплатил с помощью USD – вы получите на счет 100RUR. Если выключена, вы получите ту валюту, которой платит клиент. Т.е. например, пользователь платит 3.5WMZ за ваш товар стоимостью 100RUR – вы получите 3.5WMZ на свой WMZ счет в системе Onpay (при этом уведомление по API будет содержать 100RUR). ВНИМАНИЕ! Если оплата поступает из НЕбалансовой системы(система, не имеющая собственного баланса, пример - OSP), то конвертация будет происходить в валюту ценника. | |
| url_success | http:* / https:* (255max) | Ссылка, на которую будет переадресован пользователь после успешного завершения платежа. Внимание! Не может содержать параметры запроса (все, что идет после «?» в ссылке). Если Вам нужны параметры после «?» в ссылке используйте url_success_enc. | | | url_success | http:* / https:* (255max) | Ссылка, на которую будет переадресован пользователь после успешного завершения платежа. Внимание! Не может содержать параметры запроса (все, что идет после «?» в ссылке). Если Вам нужны параметры после «?» в ссылке используйте url_success_enc. | | ||
| url_success_enc | http:* / https:* (255max) | Необязательный параметр, содержащий ссылку для перехода в случае успешного платежа, закодированную согласно RFC3986 с отличием лишь в том, что по историческим соображениям пробелы заменяются знаком '+'. Такое кодирование реализует функция PHP urlencode. Параметр url_success_enc имеет приоритет над параметром url_success в том смысле, что если в ссылке будут присутствовать оба параметра, параметр url_success будет проигнорирован. Если в ссылке присутствует только параметр url_success, а параметра url_success_enc - нет, то будет использован параметр url_success, но по техническим причинам он будет обрезан справа начиная с первого встретившегося символа '&'. | | | url_success_enc | http:* / https:* (255max) | Необязательный параметр, содержащий ссылку для перехода в случае успешного платежа, закодированную согласно RFC3986 с отличием лишь в том, что по историческим соображениям пробелы заменяются знаком '+'. Такое кодирование реализует функция PHP urlencode. Параметр url_success_enc имеет приоритет над параметром url_success в том смысле, что если в ссылке будут присутствовать оба параметра, параметр url_success будет проигнорирован. Если в ссылке присутствует только параметр url_success, а параметра url_success_enc - нет, то будет использован параметр url_success, но по техническим причинам он будет обрезан справа начиная с первого встретившегося символа '&'. | | ||
Строка 104: | Строка 104: | ||
Формат строки для контрольной подписи (без кавычек): «pay_mode;price;ticker;pay_for;convert;secret_key» \\ | Формат строки для контрольной подписи (без кавычек): «pay_mode;price;ticker;pay_for;convert;secret_key» \\ | ||
Например: fix;100.0;WMR;123;yes;secret_key , где: | Например: fix;100.0;WMR;123;yes;secret_key , где: | ||
- | * pay_mode - строка "fix" | + | * pay_mode - строка "fix". |
- | * price - переданный параметр, цена (Обращайте внимание на формат данных, входящих в подпись! Сумма в формате #.# - один знак после точки, даже если число не имеет дробной части) | + | * price - переданный параметр, цена (Обращайте внимание на формат данных, входящих в подпись! Сумма в формате #.# - один знак после точки, даже если число не имеет дробной части). |
* ticker - валюта заказа, в которой магазин должен получить деньги, передавать в ссылке не обязательно, берется из настроек магазина по умолчанию. | * ticker - валюта заказа, в которой магазин должен получить деньги, передавать в ссылке не обязательно, берется из настроек магазина по умолчанию. | ||
- | * pay_for - переданный параметр | + | * pay_for - переданный параметр. |
- | * convert - переданный параметр, передавать в ссылке не обязательно (Даже если вы не указываете параметр “convert” в ссылке, то в строке для формирования подписи md5 необходимо указать “yes” (без кавычек) на месте этого параметра) | + | * convert - переданный параметр, передавать в ссылке не обязательно (Даже если вы не указываете параметр “convert” в ссылке, то в строке для формирования подписи md5 необходимо указать “yes” (без кавычек) на месте этого параметра). |
* secret_key - секретный ключ API магазина, задаваемый в настройках в личном кабинете. | * secret_key - секретный ключ API магазина, задаваемый в настройках в личном кабинете. | ||
Для защиты от "свободных" платежей (если они не нужны), необходимо включить в личном кабинете флаг "Запрет платежей без API", если эта функция будет включена, то плательщик не сможет создать "свободный" ордер, а только "фиксированный", у которого включена проверка MD5. | Для защиты от "свободных" платежей (если они не нужны), необходимо включить в личном кабинете флаг "Запрет платежей без API", если эта функция будет включена, то плательщик не сможет создать "свободный" ордер, а только "фиксированный", у которого включена проверка MD5. |