Advertisement
Gistrec

Tinkoff create order

Jan 29th, 2022 (edited)
1,012
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const axios = require('axios')
  2.  
  3. const Token = require('../Token');
  4.  
  5. // Параметры метода:
  6. // TerminalKey String - Идентификатор терминала, выдается Продавцу Банком
  7. // Amount      Number - Сумма в копейках
  8. // OrderId     String - Номер заказа в системе продавца
  9. // [Token]     String - Подпись запроса (в настройках терминала можно отключить)
  10. // [IP]        String - IP адрес клиента
  11. // [Description] String - Красткое описание
  12. // [Currency]    String - Код валюты. В текущей версии доступны только рубли (код 643)
  13. // [CustomerKey] String - Идентификатор покупателя в системе Продавца
  14. // [Recurrent]   String - Если передаётся Y, то платеж регистрируется как регулярный
  15. //                        В этом случае на AUTHORIZED будет передан параметр RebillId для использования в методе Charge
  16. // [PayType] Enum - Тип проведения платежа:
  17. //                  O - одностадийная оплата (средства сразу списываются)
  18. //                  T - двухстадийная оплата (средства блокируются и ждут подтверждения продавца)
  19. // [Language]        String - Язык платежной формы en/ru, стандартно ru
  20. // [NotificationURL] String - URL, куда будет отправлен POST запрос о статусе выполнения вызываемых методов
  21. // [SuccessURL]      String - URL, куда будет переведен покупатель в случае успешной оплаты
  22. // [FailURL]         String - URL, куда будет переведен покупатель в случае неуспешной оплаты
  23. // [RedirectDueDate] Datetime - Срок жизни ссылки. Минимум 5 минут, максимум 90 минут.
  24. //                              Формат даты: YYYY-MM-DDTHH24:MI:SS+GMT
  25. // [DATA] Object - JSON объект, содержащий дополнительные параметры в виде "ключ": "значение"
  26. //                 Передается на страницу оплаты в случае её кастомизации
  27. // [Receipt]    Object - JSON объект с данными чека
  28. // [Shops]      Array<Object> - JSON объект с данными маркетплейса
  29. // [Receipts]   Array<Object> - Массив объектов с чеками для каждого ShopCode из объекта Shops
  30. // [Descriptor] String - Динамический дескриптор точки
  31.  
  32. // Ответ сервера:
  33. // TerminalKey  String - Идентификатор терминала, выдается Продавцу Банком
  34. // Amount       Number - Сумма в копейках
  35. // OrderId      String - Номер заказа в системе продавца
  36. // Success      Bool   - Успешность операции (true/false)
  37. // Status       String - Статус транзакции:
  38. //                       NEW      - при успешном сценарии
  39. //                       REJECTED - при неуспешном сценарии
  40. // PaymentId    Number - Уникальный идентификатор транзакции в системе Банка
  41. // ErrorCode    String - Номер ошибки. "O" если успешно
  42. // [Message]    String - Краткое описание ошибки
  43. // [Details]    String - Подробное описание ошибки
  44. // [PaymentURL] String - Ссылка на платежную форму
  45.  
  46. TEST_URL = "https://rest-api-test.tinkoff.ru/v2/Init/"
  47. PROD_URL = "https://securepay.tinkoff.ru/v2/Init/"
  48. METHOD = "POST"
  49.  
  50. let params = {
  51.     "TerminalKey": "",
  52.     "Amount": "140000",
  53.     "OrderId": "13",
  54.     "Description": "Test 1",
  55.     "NotificationURL": "http://62.84.120.143/notification",
  56.     "SuccessURL": "https://business.gistrec.ru/",
  57.     // Мне не нужно формирование чека
  58.     "Receipt": {
  59.         "Email":"a@test.ru",
  60.         "Phone":"+79031234567",
  61.         "Taxation":"osn",
  62.         "Items": [
  63.           {
  64.             "Name":"Наименование товара 1",
  65.             "Price":10000,
  66.             "Quantity":1.00,
  67.             "Amount":10000,
  68.             "Tax":"vat10",
  69.             "Ean13":"303130323930303030630333435"
  70.           },
  71.           {
  72.             "Name":"Наименование товара 2",
  73.             "Price":20000,
  74.             "Quantity":2.00,
  75.             "Amount":40000,
  76.             "Tax":"vat18"
  77.           },
  78.           {
  79.             "Name":"Наименование товара 3",
  80.             "Price":30000,
  81.             "Quantity":3.00,
  82.             "Amount":90000,
  83.             "Tax":"vat10"
  84.           }
  85.         ]
  86.       }
  87. }
  88. const password = ""
  89. params["Token"] = Token.Generate(params, password);
  90.  
  91. (async () => {
  92.     try {
  93.         const result = await axios.post(PROD_URL, params);
  94.         console.log(result)
  95.     }catch (err) {
  96.         console.error(err)
  97.     }
  98. })();
  99.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement