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

已提供客户信息,Razorpay付款链接仍要求手动输入手机号

解决Razorpay付款链接已传客户手机号仍需手动输入的问题

问题原因

你当前仅在customer字段中传入了客户信息,但Razorpay的付款页面预填表单需要通过**prefill字段**来指定,customer字段仅用于后台关联客户记录,不会自动填充到付款页面的输入框中。

修复方案

在paymentLinkOptions中添加prefill对象,将需要预填的姓名、邮箱、手机号信息填入其中,付款页面就会自动加载这些信息,不再要求手动输入。

修改后的代码

const Razorpay = require('razorpay');

const instance = new Razorpay({
  key_id: 'your_key_id',
  key_secret: 'your_key_secret',
});

const paymentLinkOptions = {
  amount: 5000, // Amount in smallest currency unit
  currency: 'INR',
  description: 'Test Payment',
  customer: {
    name: 'John Doe',
    email: 'john.doe@example.com',
    contact: '+919876543210', // Phone number
  },
  prefill: { // 添加该字段实现付款页面信息预填
    name: 'John Doe',
    email: 'john.doe@example.com',
    contact: '+919876543210'
  },
  notify: {
    sms: true,
    email: true,
  },
  callback_url: 'https://example.com/callback',
  callback_method: 'get',
};

instance.paymentLink.create(paymentLinkOptions)
  .then((paymentLink) => {
    console.log('Payment Link:', paymentLink);
  })
  .catch((error) => {
    console.error('Error creating payment link:', error);
  });

额外注意事项

  • 确保prefill中的手机号格式符合要求:需包含国家码(如+91),无空格或特殊字符。
  • 若问题仍存在,可检查Razorpay后台的付款页面配置,确认是否开启了强制手动输入手机号的额外验证规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 19:27:11