Securionpay оформить заказ проверить успех - PullRequest
0 голосов
/ 08 июня 2018

Хорошо, я решил использовать securionpay в качестве способа оплаты.

Я не могу понять, как я могу проверить на своем сервере, что платеж был успешным

<script src = "https://securionpay.com/checkout.js"> </script>
<script src="https:/ / ajax.googleapis.com / ajax / libs / jquery / 3.1.0 / jquery.min.js "></script>
<script type="
text / javascript ">
  $(function () {
    SecurionpayCheckout.key = 'pk_test_ZVhCjD2Gz7OF222L00bxIdlD';
    SecurionpayCheckout.success = function (result) {
      // handle successful payment (e.g. send payment data to your server)
    };
    SecurionpayCheckout.error = function (errorMessage) {
      // handle integration errors (e.g. send error notification to your server)
    };

    $('#payment-button').click(function () {
      SecurionpayCheckout.open({
        checkoutRequest: 'NTQ1NDAwYTczZTljMjUwYzNhZjA0NTdkOTFjNThiOTY5YzIxY2ViMjBhMDRmOTYwNjg1MDI3OWQ2OTZlN2VjMnx7ImNoYXJnZSI6eyJhbW91bnQiOjQ5OSwiY3VycmVuY3kiOiJFVVIifX0=',
        name: 'SecurionPay',
        description: 'Checkout example'
      });
    });
  });
</script>

<button id="payment-button">Payment button</button>

это выглядит так

  1. пользователь выбирает продукт
  2. порядок пользовательских кликов (запрос отправляется на мой сервер, где я создаю подписанный «запрос на покупку»
  3. Я отображаю файл javascript с заполнением checkoutRequest
  4. Пользователь нажимает кнопку «Оплата»
  5. Пользователь заполняет информацию о карте и нажимает кнопку Pay
  6. SecurtionpayCheckout.success run

какой бы «результат» мне не возвращали, это не помогает проверить его на сервере. Я генерирую запрос на оформление заказа только на стороне сервера.

Я думаю, что мой сервер должен сгенерировать некоторую переменную, которую ябудет хранить в порядке модели и «результат» должен вернуть мне эту переменную, если успех, то я мог бы проверить это в противном случае на основе того, что я могу проверить? Я, вероятно, что-то упустил ...

документы: https://securionpay.com/docs/tutorials/checkout

PS Я не хочу хранить информацию о карте на моем сервере

Спасибо

1 Ответ

0 голосов
/ 09 июня 2018

Вы должны использовать метаданные .Укажите, нужны ли вам данные в атрибуте checkoutRequest.charge.metadata.Он будет присоединен к заряду и возвращен в параметре результата в методе успеха.

...