印度支付系统接口文档解析

印度支付系统接口文档解析

印度支付平台接口文档解析

作为印度支付系统专家,我将为您解析常见的印度支付平台接口文档要点:

主要印度支付网关

  1. UPI (统一支付接口)

    • 即时银行间转账标准
    • 支持VPA(虚拟支付地址)如username@bankname
  2. Paytm

    • 印度最大移动钱包和支付网关
    • 支持UPI、钱包、网银、信用卡等多种方式
  3. Razorpay

    • 开发者友好的全渠道聚合支付解决方案
    • REST API设计良好,文档完善
  4. PhonePe

    • Flipkart旗下的流行UPI应用
    • UPI交易市场份额领先
  5. 其他: BharatPe, MobiKwik, Amazon Pay等

通用API结构要素

认证方式

  • API密钥认证(通常放在请求头)
  • OAuth2.0(部分高级接口)
  • IP白名单(可选额外安全层)

HTTP方法使用惯例

  • GET: 查询操作(如订单状态)
  • POST: 创建资源(如发起付款)
  • PUT/PATCH:更新操作

API端点示例结构

https://api.paymentgateway.com/v{版本号}/{资源路径}

UPI相关特殊参数

{
"vpa": "user@upi",
"amount": "1000",
"currency": "INR",
"transaction_note": "",
"merchant_id": "",
"callback_url": ""
}

Webhook处理要点

  1. 验证签名: HMAC SHA256验证请求真实性
  2. 幂等性处理: payment_id+status应唯一
  3. 状态码规范:
    200 OK //成功接收webhook  
    400 Bad Request //格式错误

4xx/5xx //触发重试机制 “`

PCI DSS合规要求

1️⃣ PAN数据不得日志记录
2️⃣ CVV不存储即使加密后也不行
3️⃣ TLS1.+强制要求

如需特定平台的详细解析或具体实现建议,请告知您关注的某个具体系统。

印度支付接口深入解析

1. UPI 2.0 增强功能实现细节

a. 授权收款(Mandate)流程:

// 创建预授权请求示例
{
"type": "CREATE_MANDATE",
"payerVpa": "customer@upi",
"payeeVpa": "merchant@upi",
"amount": {
"value": "50000", // paise单位(1INR=100paise)
"currency": "INR"
},
validity: {
start: "2024-01-01T00:00:00+05:30", // IST时区
end: 2024-12-31T23:59:59+05:30"
},
"recurrence":"MONTHLY",// WEEKLY/DAILY等
"ruleType":"FIXED" // VARIABLE允许金额变更
}

b.发票支付流程特殊参数:
invoice_expiry: GST合规要求的有效期(分钟)
gst_breakup: GST税率明细数组
billing_tl_number: 税务登记号

2.Razorpay高级集成模式

分账支付(Split Payments):

# Python SDK使用示例
payment = razorpay.Payment.create({
amount':200000, # paise单位
currency':'INR',
'transfers':[
{ #主商户收款80%
account':'acc_ABC123',
amount':160000,
currency':'INR'
},{ #分销商收款20%
account':'acc_DEF456',
amount':40000,
metadata:{'profit_type':'commission'}
}
]
})

智能重试策略配置:

# razorpay-retry.yaml配置示例
retry_rules:
upi_timeout:
max_attempts:3,
backoff_factor:2,#指数退避基数(秒)
conditions:
- error_code:'gateway_timeout'
payment_methods:[‘upi’]
fallback_action:‘trigger_card_payment’

3.Paytm特殊业务场景处理

a.COD转在线支付流:
需要额外传递:

{
cod_to_online:true,
original_order_id:"ORDER_COD_123",//原货到付款订单ID
reason_code:"CUSTOMER_REQUEST" // enum值需符合Paytm规范
}

b.离线UPI QR码生成:
动态内容包含:

upi://pay?pn=MerchantName&pa=vpa@bank&am={amount}&tn={orderId}&cu=INR&sign={SHA256(payload+secret)}

⚠️签名算法必须使用NPCI规定的最新标准

4.BharatQR互操作性要点

多网关兼容方案需注意:

字段 HDFC Bank ICICI Axis
二维码版本 v4 v5+ v4
商户ID格式 MID + TerminalID组合|纯数字MID|字母数字混合

建议采用qrcode.composite=true参数触发自动适配模式。

Categories:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注