印度原生支付 API 接口文档说明

印度原生支付 API 接口文档说明

印度原生支付API接口文档说明:集成指南与最佳实践

引言:印度数字支付生态概览

随着印度数字经济的飞速发展,其本土化支付体系已成为国际企业进入该市场必须掌握的关键环节。UPI(统一支付接口)、RuPay、NetBanking等原生支付方式占据着印度电子交易的主流地位。本文作为专业的技术指南,将详细解析印度主流支付API的集成规范、技术要点与合规要求,帮助开发者高效安全地接入这一重要市场。

一、核心支付接口详解

1.1 UPI(统一支付接口)集成规范

UPI由印度国家支付公司(NPCI)开发,已成为印度最流行的实时付款系统。其API集成主要包含以下组件:

请求端点配置::

  • 生产环境:https://api.upi.npci.org.in/v3/
  • 沙箱环境:https://sandbox.upi.npci.org.in/v3/

Description of key parameters::

  • vpa(虚拟付款地址):格式为“用户名@银行标识”
  • merchantId:经NPCI认证的商户唯一标识
  • transactionNote:交易备注信息(限制50字符)

回调处理机制::

{
  "status": "SUCCESS",
  "transactionId": "NPC123456789",
  "amount": "1500.00",
  "timestamp": "2024-01-15T14:30:00Z"
}

1.2 RuPay卡处理接口

作为印度的本土银行卡网络,RuPay的受理要求符合PCI DSS标准:

加密规范::

  • RSA密钥长度不低于2048位
  • TLS协议版本需≥1.2
  • PIN数据使用HSM加密传输

1.3 NetBanking网关对接

支持超过60家印度银行的网银直连:

银行代码标准化映射表
| Bank Code | Bank Name | Transaction Limit |
|———–|——————|——————-|
| HDFC001 | HDFC Bank | ₹200,000 |
| ICICI002 | ICICI Bank | ₹100,000 |
| SBI003 | State Bank of India | ₹500,000 |

二、技术实现流程

2.1身份验证与安全协议

所有API请求必须包含以下认证头:

Authorization: Bearer <jwt_token>
X-Merchant-ID: <your_merchant_id>
X-Timestamp: <unix_timestamp>
X-Signature: <hmac_sha256>

JWT令牌每24小时需刷新一次,签名生成算法如下:

import hmac 
signature = hmac.new(secret_key.encode(), message.encode(), 'sha256').hexdigest()

2.2订单创建流程

步骤分解

POST /api/v1/payments/create

{
   “orderId”: “INV20240115001”,  
   “amount”: {
        “value”:“2500.50”,  
        “currency”:“INR”
    },
    “paymentMethods”: [“upi”,“netbanking”,“rupay”],
    ”callbackUrl“:"https://yourdomain.com/webhook",
     ”metadata“:{
          ”customerEmail":"[email protected]"、
           ”productCode":"DIGITAL_SUBSCRIPTION"
     }
}

2 .3 Webhook配置指南

NPCI强制要求所有商户实现双向webhook验证:

必需实现的端点

GET /webhook/verify //用于初次验证  
POST /webhook/notification //接收交易状态更新  

三.合规性要求与风险管理

3 .1数据本地化规定

根据《2019年个人数据保护法案》草案及RBI指令:
用户财务数据必须在6小时内同步至印境内服务器
日志记录保存期限不少于7年
跨境数据传输需经明确用户同意

3 .2限额管理策略

个人账户|商家账户|特殊许可账户|
每日转账上限|₹100,000|₹500 ,000|₹5 ,000 ,000
单笔最高金额│₹10 ,000│Rs200 ,000│Rs1 ,000 ,000

四.错误代码解析手册

常见HTTP状态码对应关系:

400系列错误

{    
    „errorCode‟:“UPI_TIMEOUT‟,
     „localizedMsg‟:“Transaction timeout.Please retry within30 minutes.”,
      „retryable‟ :true   
}   

*5XX系统级错误处理

五、高级功能与定制化集成

5.1 自动扣款(Mandate)功能实现

印度支付API支持预授权交易,适用于订阅制服务:

创建授权请求示例::

POST /api/v1/mandates/create
{
    "mandateType": "FIXED_AMOUNT",
    "amount": {
        "fixed": "999.00",
        "maximum": null
    },
    "frequency": "MONTHLY",
    "startDate": "2024-02-01",
    "endDate": "2024-12-31",
    "customerVPA": user@bankname,
}

状态管理流程::

CREATED → CUSTOMER_APPROVAL_PENDING → ACTIVE 
→ EXECUTED (每次扣款) → EXPIRED/CANCELLED

5.2 QR码支付动态生成

针对线下场景的静态与动态QR码规范:

API参数配置表
| 参数名 | 类型 | 必填 | 说明 |
|——–|——|——|——|
| qrType | string | Y | STATIC/DYNAMIC |
| amountLocked | boolean | N | DYNAMIC类型时可锁定金额 |
| expiryMinutes | integer | Y(仅DYNAMIC) | QR码有效时间 |

生成响应包含标准化的upi://pay?格式URI,符合NPCI《QR代码规范2.0》。

六、性能优化与监控建议

6 .1 API响应时间基准

根据印度数字支付基础设施特点,建议设置以下SLA目标:

  • 关键路径(如发起交易):P95 < 800ms
  • 状态查询类接口:P99 < -300ms
  • 对账文件下载: P90 < -5s (考虑到网络波动)

应部署本地边缘节点以应对国际链路延迟。主要数据中心推荐选择孟买或金奈。

6 .2可观测性指标

必须监控的核心业务指标包括:

  • payment_initiation_success_rate:按支付方式细分成功率
  • webhook_delivery_latency_p99:确保回调及时性
  • bank_downtime_impact:实时监测各银行系统状态

推荐使用以下维度进行仪表盘拆分:

payment_method= upi, netbanking, rupay  
bank_name = hdfc, icici, sbi  
region = north,south,east,west   

七.测试环境搭建指南

7 .1沙箱账户申请流程

interviewsNPCI开发者门户完成以下步骤:

  1. 注册企业账号并提交GSTIN证明文件。
  2. 选择需要测试的支付产品模块。
  3. 获取测试用的虚拟银行账户和UPI ID列表。
  4. 下载对应的RSA密钥对用于签名验证。

7 .2模拟器工具链

官方提供的NPCI Sandbox App可在应用商店下载,其功能包括:

模拟任意成功/失败交易场景
自定义网络延迟和超时
生成完整的审计日志供合规检查

八.版本管理与迁移策略

8 .1当前活跃版本支持情况

v3.x (主流支持,至2025年12月)
├── UPI Collect: ✅ 
├── UPI Intent: ✅ 
└── RuPay EMV: ✅ 

v2.x (已弃用维护模式)
└--停止新商户接入--

所有API变更将通过官方变更日志提前6个月公告。

8 .2向后兼容性保证

NPCI承诺对于已标记为“deprecated”的参数保持至少两个主版本的兼容窗口期。重要通知将通过注册邮箱及商户面板横幅同步推送。

九.常见问题排查清单(F A Q)

Q1:如何处理“BANK_RESPONSE_TIMEOUT”?

A1:
①首先检查[NPCI系统状态页面]确认是否为区域性故障;
②若个别用户遇到此问题,引导其切换付款方式或稍后重试;
③记录完整会话ID并提交给技术支持团队进行链路追踪;

Q2:“INVALID_VPA_FORMAT”的可能原因?

A2:
①检查是否包含空格或特殊字符;
②验证银行后缀是否正确(如@oksbi vs @sbi);
③通过公开的VPA校验工具预先验证格式;

Q3:结算周期和手续费如何计算?

A3:
①UPI个人间转账目前零手续费;商业收款费率通常为0.3%-0