Передать заголовки и данные с modrestcurlclient

Пытаюсь настроить платежи через сайт (называется bePaid). Для отправки платежа нужно сначала создать токен. Для этого нужно послать POST запрос с определенными заголовками и аутентификацией, и собственно данными. В документации системы приведен пример на чистом bash, с использованием curl.
curl https://checkout.bepaid.by/ctp/api/checkouts -u shopId:shopKey -H 'Content-type: application/json' -d '
{
  "checkout": {
    "order": {
      "amount": 1,
      "currency": "USD",
      "description": "Test"
    },
    "settings": {
      "decline_url": "http://www.example.com/decline",
      "fail_url": "http://www.example.com/fail",
      "notification_url": "http://www.example.com/notify",
      "success_url": "http://www.example.com/success"
    },
    "transaction_type": "payment",
    "version": 2
  }
}'

Так вот проблема, как отправить такой же запрос, но средствами modx. В документации я нашла метод request у curl-клиента:

request( string $host, string $path, string $method = GET, array $params = array, array $options = array )

Так вот, возник вопрос, что из этого что? У меня получилось так:
$host = 'https://checkout.bepaid.by/ctp/api/checkouts'
$path = '/'
$method = 'POST'
$params = json_decode({
"checkout": {
"order": {
"amount": 1,
"currency": "USD",
"description": "Test"
},
"settings": {
"decline_url": "http://www.example.com/decline",
"fail_url": "http://www.example.com/fail",
"notification_url": "http://www.example.com/notify",
"success_url": "http://www.example.com/success"
},
"transaction_type": "payment",
"version": 2
}
});
А вот что есть $options? И куда передавать headers и данные аутентификации (скорее всего, в $options и надо передавать, но в каком виде?)? Спасибо.
Мария
10 июля 2017, 16:36
modx.pro
1 084
0

Комментарии: 4

Игорь Терентьев
10 июля 2017, 22:42
0
    Игорь Терентьев
    10 июля 2017, 22:45
    +1
    И еще есть готовый компонент modstore.pro/packages/payment-system/mspbepaid
      Мария
      10 июля 2017, 23:24
      0
      Проблема в том, что на сайте нет товаров, есть просто оплата услуги на странице оплаты. Подойдет ли в таком случае вариант с minishop?
        Воеводский Михаил
        11 июля 2017, 00:34
        0
        Можно сделать универсальный товар. В момент необходимости оплаты своим скриптом добавлять товар в корзину, плагином перехватывать и подставлять цену, оформлять заказ с последующим автоматическим переходом на платежный шлюз.

        Таким образом, получится минимальными усилиями реализовать механизм оплаты произвольной суммы на нужном платежном шлюзе без глобального программирования. Главное преимущество — автоматически сохраняется история заказов, а так же все остальные плюшки ms2.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4