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

PayPal API无登录信用卡支付失败:有效期格式错误排查

问题

在WordPress环境中搭建了自定义信用卡支付表单,通过ajax-request.php调用自定义PayPal.php发起PayPal API请求。目前已实现按月支付和一次性支付功能,用户需登录PayPal账号并通过弹窗完成支付,功能运行正常,支付记录可在PayPal开发者后台正常查看。

但尝试通过PayPal API实现无需登录的信用卡支付时始终无法完成,当前遇到信用卡有效期格式问题,已尝试MM/YY、MM/YYYY、MM-YY、MM-YYYY等多种格式均无效。

已成功通过Checkout API创建订单,之后将信用卡信息和orderId发送至API完成支付,请求地址:

$url = $this->baseUrl . "/v2/checkout/orders/$orderId/capture";

使用的payment_source参数如下:

'payment_source' => [
    'card' => [
        'number'         => $cardNumber,
        'expiry' => $expirationDate,
        'security_code'  => $cvv
        'name'           => $cardHolderName, 
        'billing_address' => [
            'address_line_1' => $billingAddress ?? 'Default Street 1',
            'admin_area_2'   => $billingCity ?? 'Default City',
            'postal_code'    => $billingZip ?? '00000',
            'country_code'   => $billingCountry ?? 'DE' 
        ]
    ]
]

返回的错误信息:

{
  "field": "/payment_source/card/expiry",
  "value": "12/27",
  "location": "body",
  "issue": "INVALID_STRING_LENGTH",
  "description": "The value of a field is either too short or too long."
}

请问问题出在哪里?


解答

问题出在expiry字段的格式不符合PayPal v2 Checkout API的要求:

  • PayPal要求信用卡有效期为纯数字的4位字符串(MMYY),不能包含任何分隔符(比如/或-),长度必须恰好4位。
  • 你传入的"12/27"长度是5位,且包含分隔符,直接触发了INVALID_STRING_LENGTH错误。

修正步骤:

  1. 处理前端传入的有效期,移除所有非数字字符,确保最终是4位纯数字(比如把12/27转为1227,12-2027转为1227)。
  2. 确保年份只取后两位(PayPal不接受4位年份的格式)。

修正后的参数示例:

'payment_source' => [
    'card' => [
        'number'         => $cardNumber,
        'expiry'         => preg_replace('/\D/', '', $expirationDate), // 移除所有非数字字符
        'security_code'  => $cvv, // 原代码此处缺少逗号,需补上避免语法错误
        'name'           => $cardHolderName, 
        'billing_address' => [
            'address_line_1' => $billingAddress ?? 'Default Street 1',
            'admin_area_2'   => $billingCity ?? 'Default City',
            'postal_code'    => $billingZip ?? '00000',
            'country_code'   => $billingCountry ?? 'DE' 
        ]
    ]
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 15:06:12