条纹-为草稿发票创建付款意向-PHP

时间:2019-08-30 12:09:29

标签: stripe-payments invoice

升级订阅时,我会创建一张发票草稿,其中“拉入该客户的所有待处理发票项目,包括按比例分配”:

StringMove

然后,我将订阅标记为允许不完整付款(需要处理需要身份验证的卡):

//upgrade subscription with new plan
$subscription = \Stripe\Subscription::retrieve($subscription_id);
$subscription->plan = $plan_id;
$subscription->proration_date = $proration_date;
$subscription->save();

//create invoice for outstanding amount on subscription
$inv = \Stripe\Invoice::create(array(
     "customer" => $customer_id
));

然后我收款:

//Flag to allow incomplete payments
$subscription = \Stripe\Subscription::update($subscription_id, [
          "payment_behavior" => "allow_incomplete"
     ]);

然后我检索付款意向:

//collect payment immediately (note: fails when authentication needed and creates a payment intent)
$inv->pay();

因此,除了使用//retrieve payment intent ID (note: DOESN'T WORK - THE LATEST INVOICE SHOWS AS AN OLD ONE) $subscription = \Stripe\Subscription::update($subscription_id, [ "expand" => ["latest_invoice.payment_intent"] ]); 之外,还有一种更好的方法可以为发票草稿创建付款意图,从而能够检索付款意图?

请注意,在以上代码中,付款意图在付款尝试失败后创建(可以在Stripe仪表板中查看)。 如果没有$inv->pay()的替代品,我该如何代替$inv->pay()来获取付款意向?

更新

我不是尝试通过"latest_invoice.paymentintent"检索付款意图(请参阅原因注释),而是尝试使用以下代码从发票中检索付款意图:

"latest_invoice.paymentintent"

但是,$ updated_inv为空,因此检索无法正常工作...

0 个答案:

没有答案