我使用以下代码将卡设为默认值:
if ($form_state['input']['default'] == TRUE) {
// Set the current card as default.
try {
$stripe->customers->update(
$customer['id'],
['invoice_settings' => ['default_payment_method' => $card['id']]]
);
} catch (\Stripe\Exception\InvalidRequestException $e) {
watchdog('store', $e->getMessage(), array(), WATCHDOG_ERROR);
}
}
Run Code Online (Sandbox Code Playgroud)
因为根据https://stripe.com/docs/api/ payment_methods/attach和https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_ payment_method 上的文档,建议使用该default_payment_method参数。
它可以很好地正确标记$customer['invoice_settings']['default_payment_method']数组值。
然而,当我通过 Stripe UI 添加一张新卡时,$customer['default_source']它会被默默地标记。
所以我想知道它们之间有什么区别以及哪个更适合使用?如果default_source是一个过时的遗留参数,那么为什么 Stripe 自己的 UI 一直使用它?
2023 年 1 月 10 日更新:除了已接受的答案之外,以下是 Stripe 支持部门关于该主题的更新:
invoice_settings.default_payment_method是设置客户默认付款方式时建议设置的参数。default_source是遗留参数。
| 归档时间: |
|
| 查看次数: |
797 次 |
| 最近记录: |