代码之家  ›  专栏  ›  技术社区  ›  ALOK

Omnipay令牌计费不适用于条带

  •  0
  • ALOK  · 技术社区  · 8 年前

    我在laravel中为omnipay使用点燃的/laravel omnipal包。 我正在尝试使用条带实现令牌计费,如下所示 https://github.com/thephpleague/omnipay#token-billing . 客户已成功创建,但我无法使用返回的客户id付款。

    这是我的密码

        $token = Input::get('stripetoken');
        $gateway = Omnipay::create('Stripe');
        $gateway->setApiKey('My Key');
        $gateway->setTestMode(true);
        $cardresponse = $gateway->createCard(array('token' =>$token))->send();
        if ($cardresponse->isSuccessful()) {
          $card_id = $cardresponse->getCardReference();
          $data = $cardresponse->getData();
          $customerid = $data['id'];
          $cardid = $data['default_source'];
        }
        $paymentresponse = $gateway->purchase(array('amount' => '10.00','currency'  => 'USD', 'cardReference' => $card_id))->send();
        echo $paymentresponse->getMessage();
    

    我得到了以下回应。

    No such token: cus_8FwPaLNKdWcfRW
    

    当我检查我的条形仪表板时,具有此id的客户存在并分配了一张卡。 谢谢你的帮助。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Ywain    8 年前

    由于您正在创建客户对象,因此需要更新 charge creation request customer 参数而不是 source 参数(导致您看到的错误)。

    我不熟悉Omnipay,但我认为这应该有效:

    $paymentresponse = $gateway->purchase(array('amount' => '10.00','currency'  => 'USD', 'customerReference' => $card_id))->send();