You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stripe创建客户支付源时如何正确传递持卡人姓名?

Stripe添加客户卡片时传递持卡人姓名的正确方式

错误原因

你遇到的Received unknown parameter: name错误,是因为将name参数放在了请求的根层级,而Stripe的createSource接口并不接受根层级的name参数。


方案一:前端创建Token时传入持卡人姓名(推荐)

在前端调用stripe.createToken时,可直接附带持卡人姓名信息,生成的Token会包含该字段,后端无需额外传递。

修改前端createToken函数:

function createToken() {
    // 假设页面有id为cardholder-name的输入框用于收集持卡人姓名
    const cardholderName = document.getElementById('cardholder-name').value;
    
    stripe.createToken(cardElement, {
        name: cardholderName
    }).then(function(result) {
        if (result.error) {
            resultContainer.innerHTML = '<p>'+result.error.message+'</p>';
        } else {
            stripeTokenHandler(result.token);
        }
    });
}

后端代码无需修改,直接使用Token即可:

$intent = \Stripe\Customer::createSource($customerID, array( 
    'source' => $token
));

方案二:后端嵌套传递name参数

若需在后端传递持卡人姓名,必须将name嵌套在source数组内部:

$intent = \Stripe\Customer::createSource($customerID, array( 
    'source' => array(
        'token' => $token,
        'name' => 'John Doe'
    )
));

注意:请确保你的Stripe PHP SDK为最新稳定版本,避免因版本兼容问题导致参数不被识别。

内容的提问来源于stack exchange,提问作者Mark Alan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 02:45:40