voronkovich/sberbank-acquiring-client

Как передать корзину при оплате через apple Pay

PankovAlxndr opened this issue · 3 comments

Если вам не затруднит и у вас найдется время, то прошу вас о помощи, мой вопрос я так же озвучил тут: https://toster.ru/q/647438

Если кратко:

  1. как передавать OrderBandle при оплате через apple pay (payWithApplePay)?
  2. можно ли в ранее созданный заказ методом (registerOrder) как-то передать на оплату через Apple pay?

сейчас у меня оплата работает, но я не понимаю как передать корзину с товарами и не могу понять как оплатить через apple pay ранее созданный заказ через (registerOrder).

Заранее благодарен за любой ответ!

@PankovAlxndr, Я не использовал оплату через ApplePay. Могу лишь предположить, что корзину можно передать как и в методе registerOrder (см. #8):

$orderNumber = 777;
$merchant = 'my_merchant';
$paymentToken = 'token';

$result = $client->payWithApplePay($orderNumber, $merchant, $paymentToken, [
    'orderBundle' => [
        'cartItems' => [],
    ]
]);

Если найдёте решение, напишите здесь, другим оно тоже будет полезно.

@PankovAlxndr, Я не использовал оплату через ApplePay. Могу лишь предположить, что корзину можно передать как и в методе registerOrder (см. #8):

$orderNumber = 777;
$merchant = 'my_merchant';
$paymentToken = 'token';

$result = $client->payWithApplePay($orderNumber, $merchant, $paymentToken, [
    'orderBundle' => [
        'cartItems' => [],
    ]
]);

Если найдёте решение, напишите здесь, другим оно тоже будет полезно.

Реализовывал оплаты через GooglePay, ApplePay. Именно так и работает, проблем особых не возникло.

GooglePay:

$data = $this->sberbank->payWithGooglePay(
                            'orderNumber',
                            'merchant_name',
                            'token - base64',
                            [
                                'returnUrl' => '',
                                'failUrl' => '',
                                'currencyCode' => 643,
                                'phone' => 7922222222,
                                'amount' => 100,
                                'orderBundle' => ['cartItems' => []]
                            ]
             );

ApplePay:

$data = $this->sberbank->payWithApplePay(
                           'orderNumber',
                            'merchant_name',
                            'token - base64',
                            [
                               'orderBundle' => ['cartItems' => []]
                            ]
                        );

P.s - нужно учитывать, что в ответе GooglePay, может прийти acsUrl для редиректа, чтобы подтвердить платеж.

@amverdo, спасибо за комментарий и пример кода! В таком случае, решение очевидно и issue можно закрыть.