条纹支付SCA

时间:2019-09-16 16:39:16

标签: php stripe-payments payment-gateway phalcon

我当前的Stripe代码如下:当我传递到Stripe时。 一直在使用以下Stripe库:

https://github.com/stripe/stripe-php

到目前为止,它工作正常。现在,我需要根据SCA更改代码。但是我完全迷失了代码更新。

我的控制器

$this->stripe_->add_charge_array($stripe_user_id, $order_info, $price * 100, $currency, $metadata);

$this->stripe_->pay($currency_id, , $stripeToken, $card_id);

$data = $this->stripe_->get_charge_response($stripe_user_id, , $order_id);

$order->setStripeChargeId($data['charge_id']);//Here I save to db

在条带库中:

public function pay($currency_id, $stripe_token = null, $card_id = null, $account_id = null){

    $charge = $this->charge_card($cart['amount'], $cart['currency'], $stripe_token, $description, $cart['metadata'], $currency_id, $account_id);

}

还有我的charge_card方法连接到Stripe

public function charge_card(){
 try {
            \Stripe\Stripe::setApiKey($STRIPE_KEY);

            $charge = \Stripe\Charge::create(array(
                "amount" => intval($amount),
                "currency" => $currency,
                "source" => $stripe_token, // obtained with Stripe.js
                "description" => $description,
                "metadata" => $metadata
            ));

        } catch (\Stripe\Error\Base $e) {
            // Display a very generic error to the user, and maybe send
            // yourself an email
            $result = self::put_stripe_error($e);

        } catch (Exception $e) {
            // Something else happened, completely unrelated to Stripe
            self::put_stripe_error($e);
        }

        return $charge;


}

条带库: https://js.stripe.com/v3/

从文档中我确实了解到,我需要像下面那样更改我的charge_card方法。

$intent = \Stripe\PaymentIntent::create([
    'payment_method' => '{{PAYMENT_METHOD_ID}}',
    'customer' => '{{CUSTOMER_ID}}',
    'amount' => 1099,
    'currency' => 'gbp',
    'confirmation_method' => 'manual',
    'confirm' => true,
    'setup_future_usage' => 'off_session',
]);

但是随后我得到了$ intent中的付款方式ID。如何从这里继续。 文档错过了这一点。

0 个答案:

没有答案