Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stripe payments 使用特定id触发支付意图_Stripe Payments - Fatal编程技术网

Stripe payments 使用特定id触发支付意图

Stripe payments 使用特定id触发支付意图,stripe-payments,Stripe Payments,我在我的应用程序中使用Stripe,我还使用支付意图id作为标识符来存储我的客户订单详细信息。为了更改客户订单状态,我编写了一个webhook端点,我想首先在本地进行测试 如何使用特定的payment_intent id触发payment_intent.Successed事件,以便从数据库中查找客户订单 没有办法以这样的特定支付意图触发它;您要做的是使用CLI的转发,但通过您的流程实际创建一个测试支付。这将导致预期/已知付款意图的付款意图。成功的事件。当付款页面上的付款成功时,编写更新查询以更改

我在我的应用程序中使用Stripe,我还使用支付意图id作为标识符来存储我的客户订单详细信息。为了更改客户订单状态,我编写了一个webhook端点,我想首先在本地进行测试


如何使用特定的payment_intent id触发payment_intent.Successed事件,以便从数据库中查找客户订单

没有办法以这样的特定支付意图触发它;您要做的是使用CLI的转发,但通过您的流程实际创建一个测试支付。这将导致预期/已知付款意图的
付款意图。成功的
事件。

当付款页面上的付款成功时,编写更新查询以更改订单的状态

为此,您需要在创建支付意图时存储订单id。使用元数据字段

\Stripe\PaymentIntent::create([
    'amount' => 1099,
    'currency' => 'usd',
    'payment_method_types' => ['card'],
    'metadata' => [
        'order_id' => '6735',
    ],
]);

当付款成功更新订单状态时,从付款意图中检索订单id。

我遇到了一个类似的问题,我想测试失败的订阅付款。查看Stripe CLI设备,我采用了它们使用的默认设置,并创建了以下脚本

/*eslint disable@typescript eslint/无需变量*/
const{exec}=require('child_process')
常量fs=require('fs')
const path=require('路径')
常量args=process.argv.slice(2)
如果(参数[0]!='-客户'){
console.log('-customer参数缺失')
进程。退出(22)
}
if(args[1]==未定义){
console.log('需要客户id')
进程。退出(22)
}
const failedVoiceJSON={
_元:{
模板\u版本:0
},
固定装置:[
{
名称:'invoiceitem',
路径:'/v1/invoiceitems',
方法:“post”,
参数:{
金额:2000,
货币:美元,
客户:`${args[1]}`,
说明:'(由Stripe CLI创建)'
}
},
{
名称:'发票',
路径:'/v1/invoices',
方法:“post”,
参数:{
客户:`${args[1]}`,
说明:'(由Stripe CLI创建)'
}
},
{
名称:“发票付款”,
路径:'/v1/invoices/${invoices:id}/pay',
方法:“发布”
}
]
}
fs.writeFileSync(
join(process.cwd(),'./test/failedVoice.json'),
stringify(FailedVoiceJSON)
)
exec('stripe fixtures test/failedVoice.json',(错误,stdout,stderr)=>{
log(`stdout:${stdout}`)
fs.unlinkSync(path.join(process.cwd(),'./test/failedVoice.json'))
如果(错误){
console.log(`error:${error.message}`)
返回
}
如果(标准){
log(`stderr:${stderr}`)
返回
}

})
从中获取模板,并将类似
${invoice:id}
的变量更改为使用环境变量,即
${.env:invoice\u id}
。然后,您可以调用
INVOICE\u ID=10.json文件。json

链接已断开,请更新