And*_*ndy 5 php e-commerce stripe-payments
我正在将电子商务平台从使用 SagePay 迁移到 Stripe。
\n\n该文档显示使用的amount数字1099和货币gbp(https://stripe.com/docs/ payments/accept-a- payment#web-create- payment-intent )。
据我所知,这意味着 \xc2\xa310.99 (不是 \xc2\xa31099)。但这在他们的文档中非常不清楚 - 我假设情况就是如此。
\n\n如果我尝试通过他们的 API 发送amount => 10.99,我会在响应中收到一条错误消息:
"error": {\n "code": "parameter_invalid_integer",\n "doc_url": "https://stripe.com/docs/error-codes/parameter-invalid-integer",\n "message": "Invalid integer: 10.99",\n "param": "amount",\n "type": "invalid_request_error"\n }\nRun Code Online (Sandbox Code Playgroud)\n\n使用 SagePay,您实际上会10.99按照金额发送。
那么,使用 Stripe,您是否必须将所有金额转换为货币的单一基本单位(在英镑的情况下为便士),例如,如果金额为 \xc2\xa310.99,您需要(10.99 * 100)发送1099?
该文档实际上并没有明确说明这一点。如果您在他们的文档中阅读了 Decimal Amounts ( https://stripe.com/docs/billing/subscriptions/decimal-amounts ),它说您可以使用名为的参数amount_decimal,但如果通过他们的 API 发送,这也会给出错误:
$intent = \\Stripe\\PaymentIntent::create([\n \'amount_decimal\' => 10.99,\n \'currency\' => \'gbp\',\n // Verify your integration in this guide by including this parameter\n \'metadata\' => [\'integration_check\' => \'accept_a_payment\'],\n]);\nRun Code Online (Sandbox Code Playgroud)\n\n导致错误,指出参数amount_decimal未知(即使它在他们的文档中?):
"error": {\n "code": "parameter_unknown",\n "doc_url": "https://stripe.com/docs/error-codes/parameter-unknown",\n "message": "Received unknown parameter: amount_decimal",\n "param": "amount_decimal",\n "type": "invalid_request_error"\n }\nRun Code Online (Sandbox Code Playgroud)\n\n我的假设是,此错误是因为文档的这一部分指的是“计划”计费,而不是一次性付款。我想接受一次性发票的卡付款,因此已使用接受卡付款文档。
\n\n所以我的问题是:您是否只以货币的最小单位发送金额(例如10.99 * 100\xc2\xa310.99),还是有其他方法可以将其作为小数传递(即10.99)?
| 归档时间: |
|
| 查看次数: |
7771 次 |
| 最近记录: |