Mobile Money
南非(ZA)、加纳(GH)、乌干达(UG)、肯尼亚(KE)等国家地区均广泛使用移动支付(如M-Pesa、MTN Mobile Money、Orange Money等),通过手机号实现转账和小额金融服务,部分国家需注意号码格式(如贝宁需加"01"前缀)
支付方式属性
属性 | 值 |
---|---|
可用国家代码 | 加纳(GH)、乌干达(UG)、肯尼亚(KE)、坦桑尼亚(TZ)、喀麦隆(CM)、塞拉利昂(SL)、科特迪瓦(CI)、贝宁(BJ)、南非(ZA)、赞比亚(ZM)、塞内加尔(SN)、卢旺达(RW)、布基纳法索(BF) |
消费者货币 | KES, TZS, UGX, SLE, XAF, XOF, ZAR, ZMW, RWF |
处理货币 | KES, TZS, UGX, SLE, XAF, XOF, ZAR, ZMW, RWF |
结算货币 | USD, KES, TZS, UGX, SLE, XAF, XOF, ZAR, ZMW, RWF |
类型 I | 银行转账 (bankTransfer) |
类型 II | 请查看下方支付方式列表 |
最低交易金额 | 无限制 |
最高交易金额 | 取决于银行 |
会话超时 | 1小时 |
退款 | 不支持 |
退款有效期 | 不支持 |
拒付 | 不支持 |
集成类型 | 异步 |
交易流程
- 消费者在商家结账时选择使用 Mobile Money支付。
- 商户系统将付款请求转发给 Future Pay。
- Future Pay向Mobile Money发起支付请求。
- 在 Mobile Money响应后,FuturePay将响应转发给商户。
- 消费者确认付款后,Mobile Money通知支付成功结果到Future Pay。
- Future Pay向商户发送成功通知,商户通知消费者支付成功。
集成
请求参数说明:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
reference | String | 是 | 订单唯一标识 |
amount | Object | 是 | 订单金额信息 |
├── currency | String | 是 | 货币类型(如KES) |
├── value | Number | 是 | 金额数值,单位为最小货币单位,KES金额必须整数,5-500000之间 |
paymentMethod | Object | 是 | 支付方式信息 |
├── bankName | String | 部分支付方式必填,请查看支付方式列表 | 银行编码(如SAFKEN),请查看下方支付方式列表 |
├── firstName | String | 是 | 付款人姓氏 |
├── lastName | String | 是 | 付款人名字 |
├── shopperEmail | String | 是 | 付款人邮箱 |
├── telephoneNumber | String | 是 | 付款人手机号,加纳、乌干达、肯尼亚、坦桑尼亚、喀麦隆=12位数字(包括区号),塞拉利昂=11位数字(包含区号),科特迪瓦=13位数字(包括区号),贝宁=13位数字(包含区号,格式为 229 01 ********,比如229 01 12345678) |
├── type | String | 是 | 支付方式,如momogh ,见下方列表 |
countryCode | String | 是 | 国家代码(如GH) |
origin | String | 是 | 订单来源,如商城域名 |
productDetail | String | 是 | 订单描述 |
returnUrl | String | 是 | 支付成功后重定向页面地址(南非国家必填) |
{
"amount": {
"currency": "KES",
"value": 100
},
"origin": "xyz.com",
"countryCode": "KE",
"paymentMethod": {
"bankName": "SAFKEN",
"firstName": "23424",
"lastName": "4424",
"shopperEmail": "[email protected]",
"telephoneNumber": "2335553255",
"type": "momoke"
},
"productDetail": "debug产品描述信息",
"reference": "8E3B1B6876B04FA9BBA514D878F543E6"
}
交易调用输出
字段路径 | 类型 | 示例值 | 描述 |
---|---|---|---|
code | String | "0" | 接口状态码,0 表示成功 |
msg | String | "success" | 接口返回消息 |
success | Boolean | true | 接口调用是否成功 |
serverTime | Long | 1751958460211 | 接口响应时间戳(毫秒) |
data.merchantReference | String | "B2FF625FB82D4C869712AC4235C436E1" | 商户订单号 |
data.pspReference | String | "1942480492951633920" | 支付平台订单号 |
data.amount.currency | String | "KES" | 币种代码(ISO 4217) |
data.amount.value | Integer | 1382 | 金额(最小货币单位) |
data.resultCode | String | "PENDING" | 支付处理结果 |
data.refusalReason | String | "PENDING" (仅 banktransfer 有) | 拒绝/挂起原因 |
data.action.paymentMethodType | String | "momoke" | 支付方式标识 |
data.action.type | String | "redirect" / "banktransfer" | 支付类型:跳转页面 or 银行转账 |
data.action.method | String | "GET" (仅 redirect 有) | 前端跳转方式(GET 或 POST) |
data.action.url | String | "https://checkout.futurepay... (仅 redirect 有) | 前端跳转地址 |
data.order.bank | String | "SAFARICOM" (仅 banktransfer 有) | 银行或钱包名称 |
data.order.node | String | "PENDING" (仅 banktransfer 有) | 当前交易处理节点状态 |
{
"code": "0",
"data": {
"action": {
"paymentMethodType": "momoke",
"type": "banktransfer"
},
"amount": {
"currency": "KES",
"value": 100
},
"merchantReference": "8E3B1B6876B04FA9BBA514D878F543E6",
"order": {
"bank": "SAFARICOM",
"node": "PENDING"
},
"pspReference": "1930527869700800512",
"refusalReason": "PENDING",
"resultCode": "PENDING"
},
"msg": "success",
"serverTime": 1749108703338,
"success": true
}
{
"code": "0",
"msg": "success",
"success": true,
"serverTime": 1751958460211,
"data": {
"merchantReference": "B2FF625FB82D4C869712AC4235C436E1",
"pspReference": "1942480492951633920",
"amount": {
"currency": "XOF",
"value": 1382
},
"resultCode": "PENDING",
"action": {
"method": "Get",
"paymentMethodType": "momoza",
"type": "redirect",
"url": "https://checkout.futurepay-develop.com/payorder?reference=...&key=..."
}
}
}
支付方式列表
支付方式 | 国家 | 是否必填 | 支持的银行编码 | 对应银行全称(按顺序) |
---|---|---|---|---|
momogh | 加纳 | 是 | MTN、VOD、AIR | MTN MOBILE MONEY、VODAFONE CASH、AIRTELTIGO MONEY |
momoug | 乌干达 | 是 | MTNUGA、AIRUGA | MTN MOBILE MONEY、AIRTEL |
momoke | 肯尼亚 | 是 | SAFKEN | SAFARICOM |
momotz | 坦桑尼亚 | 是 | TIGTZA、AIRTZA、HALTZA | TIGO、AIRTEL、HALOTEL |
momocm | 喀麦隆 | 是 | MTNCMR、ORACMR | MTN、ORANGE |
momosl | 塞拉利昂 | 是 | ORASLE | ORANGE |
momoci | 科特迪瓦 | 是 | MOMCIV、WAVCIV | MTN、ORANGE、MOOV、WAVE |
momobj | 贝宁 | 是 | MOOBEN、MTNBEN | MOOV、MTN |
momoza | 南非 | 是 | EFTZAR | EFTZAR |
momosn | 塞内加尔 | 是 | ORANGEMONEY、WAV | ORANGEMONEY、WAV |
momobf | 布基纳法索 | 是 | ORANGEMONEY、MOBICASH | ORANGEMONEY、MOBICASH |
momorw | 卢旺达 | 否 | ||
momozm | 赞比亚 | 否 | ||
momoke2 | 肯尼亚 | 否 | ||
momogh2 | 加纳 | 是 | MTN、VODAFONE、AIRTELTIGO、 | MTN MOBILE MONEY、VODAFONE CASH、AIRTELTIGO MONEY |
momoci2 | 科特迪瓦 | 是 | MTN、ORANGEMONEY、MOOV、WAVE | MTN、ORANGEMONEY、MOOV、WAVE |
momocm2 | 喀麦隆 | 是 | MTN、ORANGEMONEY | MTN、ORANGEMONEY |
momoug2 | 乌干达 | 是 | MTN、AIRTEL | MTN、AIRTEL |
momotz2 | 坦桑尼亚 | 是 | Airtel、Tigo、Halopesa、Vodafone | Airtel、Tigo、Halopesa、Vodafone |
附加信息
金额小数支持说明
在发起Mobile Money收单请求时,不同币种对金额的小数位支持情况如下:
币种 | 是否支持小数金额 |
---|---|
KES(肯尼亚先令) | 不支持 |
TZS(坦桑尼亚先令) | 不支持 |
GHS(加纳塞地) | 支持 |
UGX(乌干达先令) | 不支持 |
XOF(西非法郎) | 不支持 |
XAF(中非法郎) | 不支持 |
NGN(尼日利亚奈拉) | 支持 |
ZAR | 支持 |
注意事项:
对于不支持小数的币种,接口调用时必须确保金额为整数,否则将导致请求失败。
Updated about 20 hours ago