支付文档 - sunitsdk/SUnitUnityDemo GitHub Wiki
[toc]
环境 | 请求地址 |
---|---|
Test | https://pay-gate-uat.shareitpay.in/aggregate-pay-gate/api/gateway |
Prod | https://pay-gate.shareitpay.in/aggregate-pay-gate/api/gateway |
联调接入所需的商户ID及密钥,可通过商户管理平台获取,入口为:「商户管理平台」-「设置服 务」-「开发参数」频道。 通过该服务,可分别获取测试环境、正式环境的配套商户号及密钥组合。测试环境密钥可直接生成,正式环境密钥只可在合同有效期内生成。 请妥善保管密钥信息,若不慎泄漏密钥,请及时在「开发参数」中重置密钥
回调地址用于接入方服务端接收来自 SHAREit Pay 服务端提供的订单异步回调结果。 该地址可通过调用接口的对应参数提交,也可通过商户管理平台设置。 其中,接口提交的回调地址优先于商户管理平台内的设置入口:「商户管理平台」-「设置服务」-「开发参数」 频道。
MD5签名适用于所有通过API接口进行的请求,Token仅适用于安卓SDK的调用请求。
设所有发送或者接收到的数据为集合M,将集合M内的非空参数按照参数名的ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串A。
特别注意以下重要规则: 1.参数名ASCII码从小到大排序(字典序); 2.参数名区分大小写; 3.验证调用返回或 SHAREit Pay 主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验; 4.SHAREit Pay 接口可能增加字段,验证签名时需要支持增加的扩展字段; 5.集合M内的空值null不参与加签,集合M内的空字符串(””)参与加签。 6.对于 SHAREit pay 响应中data数据体,允许进行验签,详见验签示例。
在字符串A最后拼接上key,得到字符串signTemp并对signTemp进行MD5运算,再将得到的字符串中的所有字符转换为大写,最终得到完成加签的值signValue。多语言示例代码
假设传送的参数如下:
params = {
"bizType": "payTransQuery",
"merchantId": "SP4189603",
"version": "2.1",
"orderId": "1535433516149"
}
商户密钥为:rqDaYMfPklU4Ga5n 如使用 SHAREit Pay 提供的加验签封装工具类,则直接传入参数和密钥,调用生成签名:
sign = signForMD5(params, "rqDaYMfPklU4Ga5n");
完成参数组装即可。
如开发语言未提供相应封装加验签工具类,则按以下步骤完成加签:
- 对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:
A = "bizType=payTransQuery&merchantId=SP4189603&orderId=1535433516149&version=2.1";
- 获取签名(其中获取字符串md5值方法为:MD5() ):
signTemp = A + "&key=AvCsZGBXewShPt8M"
sign = MD5(signTemp).toUpperCase() //加签后的值"1608D2F69FF80427B9FAA1F025E21603"
- 组装请求参数
{
"bizType": "payTransQuery",
"merchantId": "SP4189603",
"version": "2.1",
"orderId": "1535433516149",
"sign": "1608D2F69FF80427B9FAA1F025E21603"
}
注意:商户接受** SHAREit Pay 服务端响应验签仅需对 data 体中参数进行验签**,回调通知直接对接受 SHAREit Pay 通知的请求参数进行验签即可。 如订单查询的响应为:
{
"data": {
"amount":"1.00",
"tradeNo": "TRADE20190814080829664128262",
"orderId": "test_orderId_001",
"sign": "8BF621FAD5839DB823CFCCFB364FC174",
"errorCode": "E001",
"currency": "INR",
"errorMsg": "time out",
"status": 2
},
"bizCode": "0000"
}
则需验签的参数如下:
{
"amount":"1.00",
"tradeNo": "TRADE20190814080829664128262",
"orderId": "test_orderId_001",
"sign": "8BF621FAD5839DB823CFCCFB364FC174",
"errorCode": "E001",
"currency": "INR",
"errorMsg": "time out",
"status": 2
}
商户密钥: key = rqDaYMfPklU4Ga5n 如使用 SHAREit Pay 提供的加验签封装工具类,则直接传入参数和密钥,调用验证签名:
sign = "8BF621FAD5839DB823CFCCFB364FC174";
successflag = verifyForMD5 (params, sign,"rqDaYMfPklU4Ga5n");
successflag = true 则验签通过, successflag = false 则验签失败。
如开发语言未提供响应封装加验签工具类,则按以下步骤完成加签:
- 对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:
A = "amount=1.00¤cy=INR&errorCode=E001&errorMsg=time out&orderId=test_orderId_001&status=2&tradeNo=TRADE20190814080829664128262";
- 获取签名(其中获取字符串md5值方法为:MD5() ):
signTemp= A + "&key=rqDaYMfPklU4Ga5n"
newSign = MD5(signTemp).toUpperCase()//加签后的值"0649DEF0CFE2721071DC6E5107E21F1B"
- 比对签名 判断响应或者请求参数sign是否等于newSign,是则验签通过。
商户客调用SDK下单前,需传入token出于安全考虑,token应由商户的服务端向SHAREit Pay服务端获取,并返回供商户客户端下单使用。
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
merchantId | String | 是 | 30 | SHAREit Pay 分配给商户的唯一标识 | SP4189603 |
bizType | String | 是 | 30 | 业务代码,此接口需传入“token” | token |
version | String | 是 | 5 | 接口版本,目前统一传入1.0 | 1.0 |
secretKey | String | 是 | 64 | 商户密钥(由平台分配) | ca8ab4754d2ce6ef |
参数 | 类型 | 是否必填 | 描述 | 示例值 |
bizCode | String | 是 | 返回状态码 | 0000 |
message | String | 是 | 返回信息 | success |
displayMsg | String | 是 | 展示信息 | success |
data | String | 是 | 返回内容,token的value值 | / |
请求示例
{
"merchantId" : "SP4189603"
"bizType" : "token"
"version" : "1.0"
"secretKey" : "ca8ab4754d2ce6ef"
}
返回示例
{
"bizCode" : "0000",
"message" : "success",
"displayMsg" : "success",
"data" :
"Rdhx+bSZTVQhvUKZnRDFusldVL3FuDWO7sNc9uzjG+5A3jnyVf6oPn48FPqQHrQ8PGIW1gXTIWHPX7xwDi/M36fKdgf+KyHvLCRW1Cpg2y1qbz1qLIeFsoJgdxchxdgE"
}
商户接入 SHAREit Pay 服务,调用API须遵循以下规则:
传输方式 | 为保证交易安全性,采用HTTPS传输 |
提交方式 | 采用POST方法提交 |
数据格式 | 提交和返回数据都为application/json格式 |
字符编码 | 统一采用UTF-8字符编码 |
签名算法 | MD5 |
签名要求 | 请求和接收数据均需要校验签名,详细方法请参考【加签方法】 |
判断逻辑 | 先判断协议字段返回,再判断业务返回,最后判断交易状态 |
在测试环境下,为了方便商户在对接过程中调试对于不同支付结果的处理流程,SHAREit Pay 收银台提供了可供模拟支付结果的设置页面(如图所示)。商户联调时,通过选择任意一种支付方式,输入随机的支付账号和其他必要的信息进行支付(测试环境不作账号真实性验证),最终都会进入该页面。
验收方式及预期结果,如下:
- 选择支付成功:前台进入成功结果页,服务端将立刻获得成功状态的回调通知;
- 选择支付失败:前台进入失败结果页。如需验收服务端失败状态回调,请务必点击结果页中的Done按钮、关闭收银台页。
- 选择支付中:前台进入支付中结果页。服务端不会收到回调。
- Java版本:SHAREit_Payment_Demo(Java).zip
- PHP版本:SHAREit_Payment_Demo(PHP).zip
- cURL版本:SHAREit_Payment_Demo(cURL).zip
- Ruby版本:SHAREit_Payment_Demo(Ruby).zip
- Nodejs版本:SHAREit_Payment_Demo(Nodejs).zip
- Python版本:SHAREit_Payment_Demo(Python).zip
- C#版本:SHAREit_Pay_Service_Demo(C#).zip
开通产线环境需要满足以下两个条件:1. KYC认证通过;2. 合同签订完成。
测试联调完成后,建议按下述用例进行自测。
请确认是否正确传入国家(countrCode)和币种(currency)字段。查看字段对应码
- 若国家码或币种码不匹配会导致订单创建失败。
- 若接入多个国家的支付方式时,需要特别注意,是否国家和币种是一致的。
- 若有运营策略时,需要特别注意,传入的金额(amount)字段应该是用户的实际支付金额。
请确认是否正确配置回调地址,目前支持接口传入和平台设置两种配置方式。查看配置方法
- 正确设置和使用回调地址,可以提高获取支付结果的效率,及时获取支付状态变更信息。
请确认是否正确理解和处理SHAREit Pay所给出的支付状态。
- 订单的支付状态,可通过异步回调和主动查询获知。
- 若支付状态理解错误,可能会导致资金损失。
- 以下为支付状态说明: -- status=0 支付中(非支付终态) 用户正在支付:需要等待SHAREit pay的回调通知,或者通过查询取得交易的最新结果。 -- status=1 交易成功 用户已支付成功:请给用户提供所购买的服务,如充值、发货、会员等。 -- status=2 交易失败 用户支付失败:请按支付失败处理,该笔订单的状态不会再流转为成功。
请确认订单信息是否存储在服务端,避免用户或订单数据丢失。
- 建议将用户的支付数据存储在服务端,可保证在如下场景下用户的支付数据不会丢失。 -- 覆盖安装,导致订单数据丢失 -- 用户退出或关闭APP,导致订单数据丢失 -- 清除APP缓存,导致订单数据丢失
请保证所传入的用户ID(custId)的唯一性,避免泄露用户的个人信息。
- 收银台会根据custId推荐该用户曾经支付成功的支付方式。
- 如果商户侧无法保证custID唯一性,将会导致用户看到他人的支付信息。
若需要SHAREit Pay协助验收对接内容,请联系您的账户经理,并提供以下信息:
- 承载SHAREit Pay收银台的APP安装包或H5链接地址
- 告知收银台入口
- 提供测试帐号
正式环境和测试环境的商户号是相同的。
请登录商户平台,进入[设置服务] - [信息管理]页面,查看商户号。
正式环境的密钥需要重新生成。
请登录商户平台,进入[设置服务] - [开发参数]页面,在[正式环境]标签页下,生成正式环境的商户密钥。
正式环境的回调地址需要重新设置。 SHAREit Pay支持两种方式设置回调地址:
- 请登录商户平台,进入[设置服务] - [开发参数]页面,在[正式环境]标签页下,配置正式环境的回调地址。
- 在请求支付时传入回调地址。查看详情 注意:若您传入的回调地址和商户平台配置的回调地址有冲突,以您传入的回调地址为准。
正式环境的请求地址和测试环境不同,请注意切换。
服务 | 请求地址 |
---|---|
收款服务 | https://pay-gate.shareitpay.in/aggregate-pay-gate/api/gateway |
SHAREit Pay收款服务支持包括电子钱包、信用卡、借记卡、UPI、网银、线下收款在内的多种支付方式。
业务流程
1.用户在商户处选购商品,确认购买;
2.商户通过SDK向 SHAREit Pay 发起收款请求,并获取可在自己应用中打开的SHAREit Pay收银台,呈现给用户;
3.用户按收银台页面指引,选择支付方式完成支付;
4.SHAREit Pay 根据实际的支付结果,通知商户:
- 收银台页面跳转商户指定的前台回调地址;
- 服务端获悉支付终态后,异步向商户指定callback url推送该笔订单的支付结果;
5.商户也可主动调用订单查询接口,查询订单详情;
6.如商户需要对一笔已成功支付的收款订单发起退款,可调用退款请求接口,发起申请;退款订单的结果,可通过订单查询接口,或异步结果回调获悉。
通过集成本SDK,商户可在自身Android应用中直接打开收银台供用户支付
1.获取调用SDK收银台时必要的Token
2.调用SDK收银台供用户支付
3.接收异步回调通知,根据支付结果处理订单
可通过如下函数设置SDK 连接环境:
环境 | 设置 |
---|---|
Test 环境 | SHAREitSDK.SHAREitSDK.setEnv("Test") |
Prod 环境 | SHAREitSDK.SHAREitSDK.setEnv("Prod") |
具体的参数说明请参考:参见【下单参数说明】
MerchantParamBean.Builder builder = MerchantParamBean.Builder()
.setToken("123456") //必选
.setBizType("STANDARD") //必选
.setMerchantId("SP4189603") //必选
.setOrderId("1535433516149") //必选
.setTotalAmount("100") //必选
.setCurrency("INR") //必选
.setCountryCode("IN") //必选
.setUserId("123456789") //必选
.setSubject("iPhone 16G") //必选
.setDescription("") //可选
.setReference("item157") //可选
.setCallbackUrl("http://***.com/callback") //可选
.setLanguage("en") //可选
.setPaymentDetail("") //可选
.setUserDetail("") //可选
.setShowResult(MerchantParamBean.PAY_RESULT_TYPE_SDK) //可选
.setExpireTime(1800); //可选
MerchantParamBean merchantParam = builder.build();
SHAREitSDK.SHAREitSDK shareitSDK= new SHAREitSDK.SHAREitSDK ();
shareitSDK.startPayActivity(this, merchantParam, new SHAREitSDK.PayResultListener((int code, string orderId, string message, string reference) =>
{
string result = "code=" + code + " orderId=" + orderId + " message=" + message + " reference=" + reference;
Debug.Log(TAG + " startPayActivity result " + result);
if (payCode == 10000)
Debug.Log(TAG + " Payment success");
else if (payCode == 10001)
Debug.Log(TAG + " Payment pending");
else
Debug.Log(TAG + " Payment failed");
showDialog(result);
});
注意:具体使用方法,请另行参考:SUnitUnityDemo
完成支付后,SDK将通过SHAREitSDK.PayResultListener接口中的onResult(int code, String orderId, String message, String reference) 函数回调App。相关参数说明请参考:【回调参数说明】
请求和响应数据格式:application/json
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
token | String | 是 | 商户服务端从SHAREit服务端获取,参见【获取Token】 | 123456 | |
bizType | String | 是 | 20 | 对应所签约的收款服务权限,可问询商务。如:STANDARD,IN_CB。 | STANDARD |
merchantId | String | 是 | 30 | SHAREit分配给商户的唯一标识 | SP4189603 |
orderId | String | 是 | 64 | 商户订单号,只能包含字母、数字、下划线。每次调用下单时不能重复 | 1535433516149 |
totalAmount | String | 是 | 12 | 订单金额,取值范围:[1, 100000000],小数点后最多支持2位。注意:印尼地区不支持带小数金额。 | 100.05 |
currency | String | 是 | 3 | 货币代码,大写字母,参见【支持的国家与币种】 | INR |
countryCode | String | 是 | 10 | 国家代码,大写字母,参见【支持的国家与币种】 | IN |
userId | String | 是 | 50 | 商户的用户ID | 123456789 |
subject | String | 是 | 256 | 订单标题,用于收银台界面显示,建议传入商品名称 | iPhone 16G |
description | String | 否 | 256 | 订单附加说明 | |
reference | String | 否 | 512 | 可供商户自定义,且在回调中反馈的字段 | item157 |
callbackUrl | String | 否 | 256 | 交易结果后台回调地址,以http/https开头 | http://****.com/callback |
language | String | 否 | 8 | 语言设置,用来指定收银台的展示语言,默认英语。小写字母,参见【语言编码表】 | en, hi, fil |
+ paymentDetail | String | 否 | 256 | 定义支付方式信息,为JSON格式字符串 | { "paymentType": "00" } |
└ paymentType | String | 否 | 20 | 支付方式编码。bizType = IN_CB时,可用。详细信息可联络商务获悉。 | "00" |
+ userDetail | String | 否 | 512 | 供商户提交付款人信息,如正确传入可跳过付款人信息搜集页。内容是Json格式字符。 | {"name":"CustName","email":"com@iup","phoneNumber":"50000000","districtCode":"965"} |
└ name | String | 否 | 付款人姓名 | ||
String | 否 | 32 | 付款人邮箱 | [email protected] | |
└ phoneNumber | String | 否 | 15 | 付款人手机号,凡支付渠道需用户填写手机号,将默认取该值供用户便利选择 | 9101234123 |
└ districtCode | String | 否 | 付款人手机的国际区号 | ||
└ citizenIdNo | String | 否 | 10 | 为付款人身份证件号。印度地区为:10位数Pan卡号(即印度永久税务账号) | EBZPV8569H |
└ deviceId | String | 否 | 付款人设备标识 | ||
└ ip | String | 否 | 付款人设备IP地址 | 127.0.0.1 | |
showResult | String | 否 | 10 | 是否使用SHAREit Pay支付结果页。0:不使用;1:使用。默认使用。 | 0 |
expireTime | long | 否 | 订单有效时长,单位为秒,该字段仅在bizType=STANDARD并且是印度地区时有效。最长可定义至72小时,默认30分钟(1800秒)。 | 1800 |
参数 | 类型 | 描述 | 示例值 |
code | int | 状态码,10000表示“交易成功”;10001表示“交易处理中”;其它值表示“请求错误或交易失败“,参见【状态码】 | 10000 |
message | String | 成功或错误信息描述 | Success |
orderId | String | 商户订单号 | 1535433516149 |
extra | String | 商户传入的参数,和请求参数中extra完全一致 |
注意:code值为10001时表示“支付处理中”,代表订单终态未知。商户可通过等待SHAREit Pay服务端的异步回调,或主动调用结果查询服务,获悉订单结果。订单跃迁至“成功”或“失败”终态时,异步回调服务将主动通知商户。
bizType | 服务权限名称 |
STANDARD① | 标准收款 |
IN_CB | 印度跨境收款 |
注意:① 适用于印度本地收款及其他国家地区收款
paymentType① | 支付方式名称 |
00 | UPI |
05 | Paytm |
03 | Net Banking |
注意:① paymentType只有在bizType = IN_CB时,可用
状态码 | 描述 |
10000 | 交易成功 |
10001 | 交易中 |
10002 | 交易失败 |
10003 | 未知错误 |
10009 | 用户取消 |
除了集成上述收款SDK,建议商户关注下述接入服务,以便向您的用户提供更完整的收款服务。
该章节所述的退款功能仅适用于印度地区。受所在地支付通道限制,暂不支持其他国家。
对交易发起退款
请求和响应数据格式:application/json
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
merchantId | String | 是 | 30 | SHAREit分配给商户的唯一标识 | SP4189603 |
bizType | String | 是 | 30 | 业务代码,此接口需传入“refundApply” | refundApply |
version | String | 是 | 5 | 接口版本。当前值为:2.1 | 2.1 |
refundId | String | 是 | 64 | 商户退款请求流水号 | 20181112112606266846 |
orderId | String | 是 | 64 | 原商户订单号 | 1535433516149 |
amount | String | 是 | 12 | 退款金额等于原订单金额,目前暂不支持部分退款 | 1000 |
currency | String | 是 | 3 | 货币代码,大写字母,参见【支持的国家与币种】(当前只有印度支持退款) | INR |
sign | String | 是 | 64 | 采用MD5字符串签名,参见【MD5签名】 | 347453016A8C448A7E9449F8D7CE3A51 |
callbackUrl | String | 否 | 256 | 退款结果callBack URL,以http/https开头,传入该值可获得【退款结果异步回调通知】 | https://***.com/revMsg |
comment | String | 否 | 256 | 退款说明,不允许传入英文逗号 | Sales return |
请求报文
{
"merchantId" : "SP4189603",
"bizType" : "refundApply",
"version" : "2.1",
"refundId" : "20181112112606266846",
"orderId" : "1535433516149",
"amount" : "1000",
"currency": "INR",
"sign": "347453016A8C448A7E9449F8D7CE3A51",
"callbackUrl" : "https://***.com/revMsg",
"comment" : "Sales return"
}
参数 | 类型 | 是否必返 | 最大长度 | 描述 | 示例值 |
bizCode | String | 是 | 10 | 返回码 | 0000 |
message | String | 否 | 256 | 返回描述 | success |
data | Object | 是 | 返回数据体,内容参考下方的【data参数】 |
data参数
参数 | 类型 | 是否必返 | 最大长度 | 描述 | 示例值 |
refundId | String | 是 | 64 | 商户退款请求流水号 | 20181112112606266846 |
tradeNo | String | 是 | 64 | 原交易shareit-pay平台订单号 | REFTRADE20190415060401022956957 |
orderId | String | 是 | 64 | 原交易商户订单号 | 1535433516149 |
refundAmount | Number | 是 | 12 | 实际退款金额 | 1000 |
currency | String | 是 | 3 | 货币代码,大写字母,参见【支持的国家与币种】(当前只有印度支持退款) | INR |
errorCode | String | 否 | 64 | 退款错误码 | |
errorMsg | String | 否 | 256 | 退款错误原因 |
响应报文:
{
"bizCode" : "0000", //表示请求接收成功
"message" : "success",
"data": {
"refundId" : "20181112112606266846",
"tradeNo" : "REFTRADE20190415060401022956957",
"orderId" : "1535433516149",
"refundAmount" : 1000,
"currency": "INR",
"errorCode" : "",
"errorMsg" : ""
}
}
注意: 1.受渠道约束,退款状态仅供查询受理是否成功,暂不支持查询退款处理的实际状态。但各渠道一般遵循下述规律处理退款:退款请求受理成功后,于5-21天内资金将原路退还至用户支付所用银行卡或账户。 2.商户可按上述口径应答用户,如用户侧退款未在有效时间内处理,可接洽 SHAREit Pay 给予售后支持。
支付完成后,SHAREit Pay 会把相关支付结果通过数据流的形式发送给商户,商户需要接收处理,并按文档规范返回应答。
1.同样的通知可能会多次发送给商户系统。商户系统须能够正确的处理重复通知。 2.后台通知交互时,如果 SHAREit Pay 收到商户的应答不符合规范或超时,SHAREit Pay 会判定本次通知失败,重新发送通知,直到成功为止(在通知一直不成功的情况下,SHAREit Pay 总共会发起多次通知,通知频率为10s/20s/30s/60s/120s - 总计6次),但 SHAREit Pay 不能保证这些通知最终一定能成功。 3.在订单状态不明或者没有收到SHAREit支付结果通知的情况下,建议商户主动调用 SHAREit Pay 收款的【结果查询】确认订单状态。
特别提醒: 1、商户系统对于支付结果通知的内容需要做签名验证,并校验返回的订单金额是否与商户侧的订单金额一致,防止数据泄漏导致出现“假通知”,造成的资金损失。 2、当收到通知进行处理时,应首先检查对应业务数据的状态,判断该通知是否已经被处理过,如果没有处理请再进行处理,处理过的可直接返回成功。
请求和响应数据格式:application/json
参数名称 | 参数类型 | 是否必填 | 参数描述 |
merchantId | String | 是 | SHAREit Pay 分配给商户的唯一标识 |
tradeOrderNo | String | 是 | SHAREit Pay 交易订单号 |
orderId | String | 是 | 商户订单号 |
status | Number | 是 | 1代表成功;2代表失败 |
countryCode | String | 是 | 国家代码,参见【支持的国家与币种】 |
totalAmount | string | 是 | 商户传入的交易金额 |
currency | string | 是 | 商户传入的交易币种,在美金收单场景中为美金 |
payAmount | string | 是 | 为用户实际支付的支付金额 |
payCurrency | string | 是 | 为用户实际支付的币种 |
exchangeRate | string | 是 | 交易金额转换为支付金额使用的汇率 |
errorCode | String | 是 | 支付失败时对应的错误码值,若支付成功为空字符串 |
errorMsg | String | 是 | 支付失败时对应的错误描述,若支付成功为空字符串 |
sign | String | 是 | 签名,参见【MD5签名】 |
收到 SHAREit Pay 支付结果通知后,请遵循要求按照示例返回参数给 SHAREit Pay:
参数名称 | 参数类型 | 是否必填 | 参数描述 | 示例值 |
result_code | Number | 是 | 返回状态码 | 200 |
message | String | 是 | 返回信息 | SUCCESS |
1.通知示例:
{
"merchantId" : "SP4189603",
"tradeOrderNo" : "TRADE20190415060455960905821",
"orderId" : "1535433516149",
"status" : 2,
"countryCode" : "IN",
"totalAmount": "1",
"currency": "USD",
"payAmount": "78",
"payCurrency": "INR",
"exchangeRate": "78",
"errorCode" : "9999",
"errorMsg" : "Execute exception",
"sign" : "246b49c12eaa96407a7be96d80f10f29"
}
2.返回示例:
{
"result_code" : 200,
"message" : "SUCCESS"
}
请求和响应数据格式:application/json
参数名称 | 参数类型 | 是否必填 | 参数描述 |
merchantId | String | 是 | SHAREit Pay 分配给商户的唯一标识 |
refundId | String | 是 | 商户退款请求流水号 |
tradeNo | String | 是 | 原交易订单号 |
orderId | String | 是 | 原商户订单号 |
refundAmount | String | 是 | 退款金额 |
currency | String | 是 | 币种,大写字母,参见【支持的国家与币种】 |
status | String | 是 | 退款状态:"1"-成功,"2"-失败 |
errorCode | String | 否 | 退款失败时对应的错误码,若退款成功为空字符串 |
errorMsg | String | 否 | 退款失败时对应的错误描述,若退款成功为空字符串 |
sign | String | 是 | 签名,参见【MD5签名】 |
收到 SHAREit Pay 退款结果通知后,请遵循要求按照示例返回参数给 SHAREit Pay:
参数名称 | 参数类型 | 是否必填 | 参数描述 | 示例值 |
result_code | Number | 是 | 返回状态码 | 200 |
message | String | 是 | 返回信息 | SUCCESS |
通知示例:
{
"merchantId" : "SP4189603",
"refundId" : "20181112112606266846",
"tradeNo" : "REFTRADE20190415060401022956957",
"orderId" : "1535433516149",
"refundAmount" : "1000",
"currency": "INR",
"status" : "1",
"errorCode" : "",
"errorMsg" : "",
"sign" : "055e10f63af852bdac8fa174c65f2f8a"
}
返回示例:
{
"result_code" : 200,
"message" : "SUCCESS"
}
请求和响应数据格式:application/json
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
merchantId | String | 是 | 30 | SHAREit Pay 分配给商户的唯一标识 | SP4189603 |
bizType | String | 是 | 30 | 业务代码,此接口需传入“payTransQuery” | payTransQuery |
version | String | 是 | 5 | 接口版本。当前值为:2.3 | 2.3 |
orderId | String | 是 | 64 | 商户订单号 | 1535433516149 |
sign | String | 是 | 64 | 采用MD5字符串签名,参见【MD5签名】 | MD5签名方法说明 |
请求示例:
{
"bizType": "payTransQuery",
"merchantId": "SP4189603",
"orderId": "1543911807566",
"version": "2.3",
"sign": "6501C667567BE1E42950BDDF259FD7E7"
}
参数 | 类型 | 是否必返 | 最大长度 | 描述 | 示例值 |
bizCode | String | 是 | 10 | 返回码 | 0000 |
data | Object | 是 | 返回数据体,内容参考下方的【data参数】 |
data参数
参数 | 类型 | 是否必返 | 最大长度 | 描述 | 示例值 |
tradeNo | String | 是 | 64 | shareit-pay平台订单号 | TRADE20181204081243021279830 |
orderId | String | 是 | 64 | 商户订单号 | 1543911807566 |
status | Number | 是 | 2 | 订单状态:0-待支付,1-支付成功,2-支付失败。该字段表明当前订单状态,重复请求时会返回已有订单状态。 | 0 |
totalAmount | String | 是 | 12 | 商户传入的交易金额,取值范围:[1, 100000000],小数点后最多支持2位。注意:印尼地区不支持带小数金额。 | 1 |
currency | String | 是 | 3 | 商户传入的交易币种,大写字母,参见【支持的国家与币种】 | USD |
payAmount | string | 是 | 12 | 为用户实际支付的支付金额 | 78 |
payCurrency | string | 是 | 3 | 为用户实际支付的币种,大写字母,参见【支持的国家与币种】 | INR |
exchangeRate | string | 是 | 16 | 交易金额转换为支付金额使用的汇率 | 78 |
errorCode | String | 是 | 64 | 支付失败时对应的错误码值,若支付成功为空字符串 | 9999 |
errorMsg | String | 是 | 256 | 支付失败时对应的错误描述,若支付成功为空字符串 | Execute exception |
sign | String | 是 | 64 | 采用MD5字符串签名,参见【MD5签名】 | DB73C116DE2F220A68BB96542885E171 |
响应示例:
{
"data": {
"tradeNo": "TRADE20181204081243021279830",
"orderId": "1543911807566",
"status": 1, // 0:待支付,1:支付成功,2:支付失败
"totalAmount": "1",
"currency": "USD",
"payAmount": "78",
"payCurrency": "INR",
"exchangeRate": "78",
"errorCode": "", //支付失败,errorCode才填充错误码
"errorMsg": "", //支付失败,errorMsg才填充错误message
"sign": "9232368D2EE8E9D1B54D9E765A585126"
},
"bizCode": "0000"
}
请求和响应数据格式:application/json
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
merchantId | String | 是 | 30 | SHAREit Pay 分配给商户的唯一标识 | SP4189603 |
bizType | String | 是 | 30 | 业务代码,此接口需传入“refundQuery” | refundQuery |
version | String | 是 | 5 | 接口版本。当前值为:2.1 | 2.1 |
refundId | String | 是 | 64 | 商户退款请求流水号 | 20181112112606266846 |
sign | String | 是 | 64 | 采用MD5字符串签名,参见【MD5签名】 | 2CE83FA767609D7B19136132F733BF0B |
请求示例:
{
"merchantId" : "SP4189603",
"version" : "2.1",
"bizType" : "refundQuery",
"refundId" : "20181112112606266846",
"sign" : "2CE83FA767609D7B19136132F733BF0B"
}
参数 | 类型 | 是否必返 | 最大长度 | 描述 | 示例值 |
bizCode | String | 是 | 10 | 返回码 | 0000 |
message | String | 否 | 256 | 响应消息 | success |
data | Object | 是 | 返回数据体,内容参考下方的【data参数】 |
data参数
参数 | 类型 | 是否必返 | 最大长度 | 描述 | 示例值 |
refundId | String | 是 | 64 | 商户退款请求流水号 | 20181112112606266846 |
tradeNo | String | 是 | 64 | shareit-pay平台订单号 | TRADE20181204081243021279830 |
orderId | String | 是 | 64 | 商户订单号 | 1543911807566 |
refundAmount | String | 是 | 12 | 订单退款金额,取值范围:[1, 100000000],小数点后最多支持2位。注意:印尼地区不支持带小数金额。 | 1000 |
currency | String | 是 | 3 | 货币代码,大写字母,参见【支持的国家与币种】 | INR |
status | Number | 是 | 2 | 订单状态:0-待退款,1-退款受理成功,2-退款受理失败,该字段表明当前退款订单状态 | 0 |
sign | String | 是 | 64 | 采用MD5字符串签名,参见【MD5签名】 | DB73C116DE2F220A68BB96542885E171 |
errorCode | String | 是 | 64 | 退款失败时对应的错误码,若退款成功为空字符串 | 9999 |
errorMsg | String | 是 | 256 | 退款失败时对应的错误描述,若退款成功为空字符串 | Execute exception |
响应示例:
{
"bizCode" : "0000",
"message" : "success",
"data" : {
"refundId" : "20181112112606266846",
"tradeNo" : "REFTRADE20190415060401022956957",
"orderId" : "1535433516149",
"refundAmount" : "1000",
"currency" : "INR",
"status" : 1, // 0:待退款 1:退款受理成功 2:退款受理失败
"sign": "2CE83FA767609D7B19136132F733BF0B",
"errorCode" : "",
"errorMsg" : ""
}
}
注意: 1.受渠道约束,退款状态仅供查询受理是否成功,暂不支持查询退款处理的实际状态。但各渠道一般遵循下述规律处理退款:退款请求受理成功后,于5-21天内资金将原路退还至用户支付所用银行卡或账户。 2.商户可按上述口径应答用户,如用户侧退款未在有效时间内处理,可接洽SHAREit Pay 给予售后支持。
国家/地区名称 | 国家编码 | 货币编码 | 语言编码 |
---|---|---|---|
印度 | IN | INR, USD | hi, en, kn, ml, pa, ta, te, mr |
印度尼西亚 | ID | IDR, USD | in, en, zh |
马来西亚 | MY | MYR, USD | mys, en, zh |
菲律宾 | PH | PHP, USD | fil, en |
阿联酋 | AE | AED, USD | en |
巴林 | BH | BHD, USD | en |
阿联酋 | AE | AED, USD | en |
埃及 | EG | EGP, USD | en |
约旦 | JO | USD | en |
科威特 | KW | KWD , USD | en |
黎巴嫩 | LB | USD | en |
阿曼 | OM | OMR, USD | en |
卡塔尔 | QA | QAR, USD | en |
沙特阿拉伯 | SA | SAR, USD | en |
泰国 | TH | THB,USD | en |
巴西 | BR | BRL,USD | pt,en |
智利 | CL | CLP,USD | es,en |
哥伦比亚 | CO | COP,USD | es,en |
墨西哥 | MX | MXN,USD | es,en |
秘鲁 | PE | PEN,USD | es,en |
巴拉圭 | PY | PYG,USD | es,en |
乌拉圭 | UY | UYU,USD | es,en |
注意: 1、国家与币种属于强对应关系,不符合表内对应关系的,无法调起支付。 2、商户只能有效的请求已开通合同权限的国家。
语言 | 语言编码 | 使用范围 | 语言英文描述 |
---|---|---|---|
英语 | en | 通用 | English |
印地语 | hi | 印度 | Hindi |
马拉地语 | mr | 印度 | Marathi |
卡纳达语 | kn | 印度 | Kannada |
马拉雅拉姆语 | ml | 印度 | Malayalam |
旁遮普语 | pa | 印度 | Punjabi |
泰米尔语 | ta | 印度 | Tamil |
泰卢固语 | te | 印度 | Telugu |
印尼语 | in | 印尼 | Bahasa Indonesia |
菲律宾语 | fil | 菲律宾 | Tagalog |
马来文 | mys | 马来西亚 | Malay |
中文 | zh | 马来西亚 | Chinese |
葡萄牙语 | pt | 拉美 | Portuguese |
西班牙语 | es | 拉美 | Spanish |
所在国可支持服务 | 支付金额说明 | ||||||
类型 | 支付方式 | 图标 | 订单时长 | 最小金额 | 最大金额 | 其他限制和说明 | 用户手续费 |
电子钱包 | Paytm Wallet | 可自定义,默认30分钟,最长72小时 | INR 1 | N/A | 普通认证用户:Rs 1万/笔,Rs 1万/月,完整认证用户:Rs 10万/笔,无月限额 | N/A | |
PhonePe | 最低Rs 1/笔,最高Rs 10万/笔 | ||||||
Amazon Pay | |||||||
Free Charge | |||||||
Airtel Money | |||||||
银行卡 | 借记卡 | N/A | 最低Rs 1/笔,最高视具体不同银行而定 | ||||
信用卡 | |||||||
网银 | Net Banking | N/A | |||||
UPI | UPI Collect | N/A | |||||
UPI Intent |
所在国可支持服务 | 支付金额说明 | ||||||
类型 | 支付方式 | 图标 | 订单时长 | 最小金额 | 最大金额 | 其他限制和说明 | 用户手续费 |
运营商计费 | Indosat | N/A | 16分钟 | Rp 1.000 | Rp 1,100,000 | 定额明细点击查看;Rp 3,000,000 /日 | N/A |
Telkomsel | 16分钟 | Rp 500 | Rp 500,000 | 仅支持下列固定金额:1.000, 2.000, 3.000, 4.000, 5.000, 10.000, 12.500, 15.000, 20.000, 30.000, 35.000, 50.000, 60.000, 75.000, 100.000, 113.000, 150.000, 200.000, 250.000, 300.000, 330.000, 350.000, 400.000, 410.000, 500.000 | 10%服务费 | ||
XL | 16分钟 | Rp 1,000 | Rp 1,000,000 | Rp 100,000/月 (仅针对后付费用户),Rp 3,000,000/日 | N/A | ||
Tri Indonesia | 16分钟 | Rp 500 | Rp 1,300,000 | N/A | N/A | ||
便利店/网点 | Alfamart | N/A | 26小时 | Rp 50,000 | Rp 2,000,000 | Rp 10,000,000/日 | N/A |
Indomaret | 26小时 | Rp 40,000 | Rp 5,000,000 | N/A | N/A | ||
True Money Agent Network | 26小时 | Rp 1 | Rp. 10,000,000 | N/A | N/A | ||
电子钱包 | Doku | 1.5小时 | Rp 1 | Rp 5,000,000 | Rp 20,000,000/月 | N/A | |
Go-Pay | 3小时 | Rp 1000 | Rp 10,000,000 | N/A | N/A | ||
DANA | 48小时 | Rp. 1 | Rp. 10,000,000 | N/A | N/A | ||
LinkAja | 48小时 | Rp. 1 | Rp. 10,000,000 | N/A | N/A | ||
OVO | 30分钟 | Rp. 1 | Rp. 10,000,000 | N/A | N/A | ||
银行网点/转账 | Bank Transfer | N/A | 26小时 | Rp 50,000 | Rp 10,000,000 - Rp 50,000,000,取决于银行策略 | Rp 10,000,000 - Rp 50,000,000/日,取决各家银行策略 | Rp 0-7500服务费,取决于银行,通常为Rp 6500 |
所在国可支持服务 | 支付金额说明 | ||||||
类型 | 支付方式 | 图标 | 订单时长 | 最小金额 | 最大金额 | 其他限制和说明 | 用户手续费 |
电子钱包 | GCash | 24小时 | PHP 1 | PHP 10,000 | N/A | PHP10服务费 | |
Grabpay | 24小时 | PHP 1 | PHP 100,000 | N/A | N/A | ||
DragonPay Credit | 48小时 | PHP 1 | PHP 1,000,000 | N/A | N/A | ||
Coins.ph | 24小时 | PHP 1 | PHP 1,000,000 | N/A | N/A | ||
线下非银网点 | 711便利店 | 72小时 | PHP 50 | PHP 200,000 | N/A | N/A | |
Bayad Center | 72小时 | PHP 50 | PHP 200,000 | N/A | N/A | ||
Cebuana Lhuillier Bills Payment | 72小时 | PHP 10 | PHP 1,000,000 | N/A | N/A | ||
EC Pay | 72小时 | PHP 50 | PHP 1,000,000 | N/A | N/A | ||
Robinsons Dept Store | 72小时 | PHP 50 | PHP 200,000 | N/A | N/A | ||
LBC Bills Payment | 72小时 | PHP 50 | PHP 200,000 | N/A | N/A | ||
M. Lhuillier | 72小时 | PHP 180 | PHP 1,000,000 | N/A | PHP20服务费 | ||
RuralNet | 72小时 | PHP 20 | PHP 100,000 | N/A | N/A | ||
SM Bill Payment | 72小时 | PHP 50 | PHP 200,000 | N/A | N/A | ||
RD Pawnshop | 72小时 | PHP 10 | PHP 20,000 | N/A | N/A | ||
银行转账 | OTC Bank & ATM | N/A | 72小时 | PHP 1 | PHP 2,000,000 | 限额通常在1-1,000,000之间,因各家银行略有差异 | 部分银行收取手续费,介于P10-P50,多为P25 |
Online Bank | N/A | 24小时 | PHP 1 | PHP 10,000,000 | 限额通常在1-1,000,000之间,因各家银行略有差异 | 部分银行收取手续费,介于P5-P15 | |
运营商计费 | Globe | N/A | 16分钟 | PHP 10 | PHP 2000 | 仅支持下列固定金额:10, 20, 50, 100, 200, 300, 400, 500, 1000, 2000 | PHP 500/月(仅针对后付费用户) |
Smart&Sun | 16分钟 | PHP 10 | PHP 2000 | N/A | N/A |
所在国可支持服务 | 支付金额说明 | ||||||
类型 | 支付方式 | 图标 | 订单时长 | 最小金额 | 最大金额 | 其他限制和说明 | 用户手续费 |
运营商计费 | MYR 1 | N/A | 15分钟 | N/A | N/A | N/A | N/A |
所在国可支持服务 | 支付金额说明 | ||||||
类型 | 支付方式 | 图标 | 订单时长 | 最小金额 | 最大金额 | 其他限制和说明 | 用户手续费 |
运营商计费 | Etisalat | N/A | 16分钟 | AED 1 | N/A | AED 40/日 | N/A |
接口响应码(bizCode) | 描述 | 接口响应描述(message) | 说明 |
0000 | 接口调用成功 | success | 接口调用成功(调用结果见对应业务返回参数) |
1000 | 接口请求参数有误/非法参数 | bizType not support | 传入的bizType有误 |
bizType is empty | 传入的bizType为空 | ||
merchant not exist | 传入的商户号不存在 | ||
merchantId is empty | 传入的商户号为空 | ||
gateway authentication failure | 网关认证失败 | ||
version is empty | 缺少版本参数 | ||
sign is empty | 缺少签名参数 | ||
parameters are empty | 请求参数字段存在缺失 | ||
request param format error | 请求参数数据格式有误 | ||
2000 | 接口调用失败 | system internal error | 系统内部异常 |
your request is frequency | 请求接口频次过高 | ||
system busy | 系统繁忙 | ||
get credential fail | 凭证获取失败 | ||
3000 | 权限不足 | token invalid | 无效的访问令牌 |
token check incorrect | 访问令牌检查错误 | ||
token is expired | 访问令牌已过期 | ||
sign is incorrect | 错误的签名 | ||
merchant key incorrect | 错误的商户密钥 | ||
merchant not sign contract | 商户未签署合约 |
业务响应码(errorCode) | 描述 | 业务响应描述描述(errorMsg) |
0003 | 订单未支付,无法发起退款 | Unable to refund since the order unpaid |
0004 | 商户订单不存在 | Invalid orderID |
0005 | 退款申请已存在 | Refund order ID already existed |
0007 | 退款订单不存在 | Invalid refund order ID |
0008 | 未开通任何可用支付方式 | No payment method is available since not authorized. |
0009 | 商户号不存在或无权限 | No payment method is available since merchant is invalid |
0017 | 请求参数格式错误 | Check parameters, something is not correct. |
1001 | 商户不存在 | The merchant does not exist |
1009 | 该笔订单已超出有效退款时间 | Unable to refund since exceeding the refund available period |
1010 | 退款金额与交易金额不匹配 | Refund amount is not correct |
1023 | 账户余额不足 | Balance is not enough. |
1024 | 订单金额无效或格式不正确 | Invalid amount |
1026 | 无效的交易过期时间 | Invalid transaction expire time |
1029 | 国家码与币种不匹配 | The country code is not matched with the currency code. |
1030 | 该支付方式不支持退款 | This payment method is unable to raise refund. |
1031 | 渠道服务商受理失败 | Fail to process by the payment provider. |
1032 | 退款币种与原订单交易币种不匹配 | Refund currency doesn't match with the original order currency. |
1036 | 当前支付方式不可用 | This payment method is not available. |
1037 | 账号格式无效或格式不正确 | Invalid Account Number |
1038 | 本订单金额无法受理 | No payment method supports this amount. |
1039 | 订单已支付,请勿重复请求 | This order has been paid. |
1040 | 请求的版本号不支持 | Invalid version number |
1041 | 请求的支付方式不支持 | Invalid payment method |
1042 | 支付方式不满足限额 | This payment method does not support the amount. |
1044 | 订单已超时关闭 | This order is closed due to timeout. |
4000 | 请求参数格式错误 | Check parameters, format is not correct. |
9994 | 请求频次过高,请稍后 | Request too frequently. Slow down and try later. |
9998 | 参数为空 | Wrong parameter, something is empty. |
9999 | 业务执行失败标识 | System is busy. |
P01 | 对应支付中订单 | Payment under process. |
F100 | 用户取消 | Transaction cancelled by user |
F150 | 用户超时未完成支付 | Transaction expired. |
F300 | 银行侧受理支付失败 | Transaction failed at the bank's side. |
F301 | 错误的银行卡CVV | Invalid CVV. |
F302 | 用户提供的支付信息未通过验证 | Transaction failed at bank end due to authentication failed. |
F304 | 错误的银行卡CVV或失效日期 | CVV or expiry date is incorrect. |
F305 | 银行拒绝受理 | Payment has been declined by bank. |
F310 | 密码或动态口令未通过验证 | Wrong Password or OTP. |
F322 | UPI PIN未设置 | UPI PIN is not set. |
F325 | PIN尝试次数超限 | Exceeded PIN retry limit. |
F350 | 账户余额不足 | Insufficient account balance. |
F360 | 超出用户支付限额 | Amount exceeds balance limit. |
F363 | 超过日限额 | Transaction failed at bank end due to user exceed daily amount limit. |
F364 | 超过月限额 | Transaction failed at bank end due to user exceed monthly amount limit. |
F365 | 超过日交易次数 | Transaction failed at bank end due to user exceed daily number of transactions limit. |
F366 | 超过月交易次数 | Transaction failed at bank end due to user exceed monthly number of transactions limit. |
F400 | 因银行风控原因拒绝 | Transaction is delined due to risk control |
F401 | 银行拒绝受理 | Bank refused to process. |
F410 | 银行系统或后续系统超时导致的支付失败 | Order closed due to time out. |
F500 | 用户提供的支付信息有误 | Certain payment detail is not correct. |
F501 | 无效或不正确的银行卡号 | Invalid or wrong card number |
F502 | 不支持的银行卡组织 | Unable to process due to the card orgnization is not supported. |
F503 | 卡失效日期未通过验证 | Card expiry date is not correct. |
F504 | 卡姓名未通过验证 | Card holder name is not correct. |
F505 | 不支持的国际卡 | International card is not supported. |
F506 | 卡或账户冻结不可用 | Unable to process due to card/account suspended. |
F507 | 失效的银行卡 | Invalid or wrong card number |
F508 | 动态验证码请求超限 | Exceeded OTP request limit. |
F512 | 动态验证码错误或已失效 | Invalid OTP or expired OTP entered. |
F514 | 支付账号未注册 | Payment account is not registered. |
F515 | 错误或无效的支付账号 | Invalid account number |
F516 | OTP验证次数超限 | Exceeded OTP validate limit. |
F520 | 手机号不正确 | Mobile number is not correct. |
F521 | 不支持的运营商 | Numbers from this operator are currently not supported. |
F523 | 账号冻结或被限制 | Account blocked or frozen. |
F524 | 错误或无效的UPI账号 | Invalid UPI ID. |
F525 | UPI账号关联的手机号已变更 | Registered Mobile number linked to the account has been changed/removed. |
F600 | 渠道服务商受理失败 | Fail to process by the payment provider. |
F700 | 渠道服务商系统异常 | Technical error occurred. |
F810 | 支付通道暂不可用 | This payment method is not available currently. |
F830 | 因网络问题,渠道服务商受理失败 | Provider failed to process due to network issue. |
Bank Code | Bank Name |
ACEH | BPD Aceh |
ACEH_UUS | BPD Aceh UUS |
AGRIS | Bank Agris |
AGRONIAGA | Bank BRI Agroniaga |
AMAR | Bank Amar Indonesia (formerly Anglomas International Bank) |
ANZ | Bank ANZ Indonesia |
ARTA_NIAGA_KENCANA | Bank Arta Niaga Kencana |
ARTHA | Bank Artha Graha International |
ARTOS | Bank Artos Indonesia |
BALI | BPD Bali |
BAML | Bank of America Merill-Lynch |
BANGKOK | Bangkok Bank |
BANTEN | BPD Banten (formerly Bank Pundi Indonesia) |
BCA | Bank Central Asia (BCA) |
BCA_SYR | Bank Central Asia (BCA) Syariah |
BENGKULU | BPD Bengkulu |
BISNIS_INTERNASIONAL | Bank Bisnis Internasional |
BJB | Bank BJB |
BJB_SYR | Bank BJB Syariah |
BNI | Bank Negara Indonesia (BNI) |
BNI_SYR | Bank BNI Syariah |
BNP_PARIBAS | Bank BNP Paribas |
BOC | Bank of China (BOC) |
BRI | Bank Rakyat Indonesia (BRI) |
BRI_SYR | Bank Syariah BRI |
BTN | Bank Tabungan Negara (BTN) |
BTN_UUS | Bank Tabungan Negara (BTN) UUS |
BTPN_SYARIAH | BTPN Syariah (formerly Bank Sahabat Purba Danarta and Bank Tabungan Pensiunan Nasional UUS) |
BUKOPIN | Bank Bukopin |
BUKOPIN_SYR | Bank Syariah Bukopin |
BUMI_ARTA | Bank Bumi Arta |
CAPITAL | Bank Capital Indonesia |
CCB | China Construction Bank Indonesia (formerly Bank Antar Daerah and Bank Windu Kentjana International) |
CENTRATAMA | Centratama Nasional Bank |
CHINATRUST | Bank Chinatrust Indonesia |
CIMB | Bank CIMB Niaga |
CIMB_UUS | Bank CIMB Niaga UUS |
CITIBANK | Citibank |
COMMONWEALTH | Bank Commonwealth |
DAERAH_ISTIMEWA | BPD Daerah Istimewa Yogyakarta (DIY) |
DAERAH_ISTIMEWA_UUS | BPD Daerah Istimewa Yogyakarta (DIY) UUS |
DANAMON | Bank Danamon |
DANAMON_UUS | Bank Danamon UUS |
DBS | Bank DBS Indonesia |
DEUTSCHE | Deutsche Bank |
DINAR_INDONESIA | Bank Dinar Indonesia |
DKI | Bank DKI |
DKI_UUS | Bank DKI UUS |
EXIMBANK | Indonesia Eximbank (formerly Bank Ekspor Indonesia) |
FAMA | Bank Fama International |
GANESHA | Bank Ganesha |
HANA | Bank Hana |
HARDA_INTERNASIONAL | Bank Harda Internasional |
HSBC | Hongkong and Shanghai Bank Corporation (HSBC) (formerly Bank Ekonomi Raharja) |
ICBC | Bank ICBC Indonesia |
INA_PERDANA | Bank Ina Perdania |
INDEX_SELINDO | Bank Index Selindo |
INDIA | Bank of India Indonesia |
JAMBI | BPD Jambi |
JAMBI_UUS | BPD Jambi UUS |
JASA_JAKARTA | Bank Jasa Jakarta |
JAWA_TENGAH | BPD Jawa Tengah |
JAWA_TENGAH_UUS | BPD Jawa Tengah UUS |
JAWA_TIMUR | BPD Jawa Timur |
JAWA_TIMUR_UUS | BPD Jawa Timur UUS |
JPMORGAN | JP Morgan Chase Bank |
JTRUST | Bank JTrust Indonesia (formerly Bank Mutiara) |
KALIMANTAN_BARAT | BPD Kalimantan Barat |
KALIMANTAN_BARAT_UUS | BPD Kalimantan Barat UUS |
KALIMANTAN_SELATAN | BPD Kalimantan Selatan |
KALIMANTAN_SELATAN_UUS | BPD Kalimantan Selatan UUS |
KALIMANTAN_TENGAH | BPD Kalimantan Tengah |
KALIMANTAN_TIMUR | BPD Kalimantan Timur |
KALIMANTAN_TIMUR_UUS | BPD Kalimantan Timur UUS |
KESEJAHTERAAN_EKONOMI | Bank Kesejahteraan Ekonomi |
LAMPUNG | BPD Lampung |
MALUKU | BPD Maluku |
MANDIRI | Bank Mandiri |
MANDIRI_SYR | Bank Syariah Mandiri |
MANDIRI_TASPEN | Mandiri Taspen Pos (formerly Bank Sinar Harapan Bali) |
MASPION | Bank Maspion Indonesia |
MAYAPADA | Bank Mayapada International |
MAYBANK | Bank Maybank (formerly BII) |
MAYBANK_SYR | Bank Maybank Syariah Indonesia |
MAYORA | Bank Mayora |
MEGA | Bank Mega |
MEGA_SYR | Bank Syariah Mega |
MESTIKA_DHARMA | Bank Mestika Dharma |
MITRA_NIAGA | Bank Mitra Niaga |
MITSUI | Bank Sumitomo Mitsui Indonesia |
MIZUHO | Bank Mizuho Indonesia |
MNC_INTERNASIONAL | Bank MNC Internasional |
MUAMALAT | Bank Muamalat Indonesia |
MULTI_ARTA_SENTOSA | Bank Multi Arta Sentosa |
NATIONALNOBU | Bank Nationalnobu |
NUSA_TENGGARA_BARAT | BPD Nusa Tenggara Barat |
NUSA_TENGGARA_BARAT_UUS | BPD Nusa Tenggara Barat UUS |
NUSA_TENGGARA_TIMUR | BPD Nusa Tenggara Timur |
NUSANTARA_PARAHYANGAN | Bank Nusantara Parahyangan |
OCBC | Bank OCBC NISP |
OCBC_UUS | Bank OCBC NISP UUS |
OKE | Bank Oke Indonesia (formerly Bank Andara) |
PANIN | Bank Panin |
PANIN_SYR | Bank Panin Syariah |
PAPUA | BPD Papua |
PERMATA | Bank Permata |
PERMATA_UUS | Bank Permata UUS |
PRIMA_MASTER | Prima Master Bank |
QNB_INDONESIA | Bank QNB Indonesia (formerly Bank QNB Kesawan) |
RABOBANK | Bank Rabobank International Indonesia |
RBS | Royal Bank of Scotland (RBS) |
RESONA | Bank Resona Perdania |
RIAU_DAN_KEPRI | BPD Riau Dan Kepri |
RIAU_DAN_KEPRI_UUS | BPD Riau Dan Kepri UUS |
ROYAL | Bank Royal Indonesia |
SAHABAT_SAMPOERNA | Bank Sahabat Sampoerna |
SBI_INDONESIA | Bank SBI Indonesia |
SHINHAN | Bank Shinhan Indonesia (formerly Bank Metro Express) |
SINARMAS | Sinarmas |
SINARMAS_UUS | Bank Sinarmas UUS |
STANDARD_CHARTERED | Standard Charted Bank |
SULAWESI | BPD Sulawesi Tengah |
SULAWESI_TENGGARA | BPD Sulawesi Tenggara |
SULSELBAR | BPD Sulselbar |
SULSELBAR_UUS | BPD Sulselbar UUS |
SULUT | BPD Sulut |
SUMATERA_BARAT | BPD Sumatera Barat |
SUMATERA_BARAT_UUS | BPD Sumatera Barat UUS |
SUMSEL_DAN_BABEL | BPD Sumsel Dan Babel |
SUMSEL_DAN_BABEL_UUS | BPD Sumsel Dan Babel UUS |
SUMUT | BPD Sumut |
SUMUT_UUS | BPD Sumut UUS |
TABUNGAN_PENSIUNAN_NASIONAL | Bank Tabungan Pensiunan Nasional |
TOKYO | Bank of Tokyo Mitsubishi UFJ |
API标准入款接入方式, 点击GoPay支付方式,打开页面出错,提示"ERR_UNKNOWN_URL_SCHEME"
如果打开API的容器是Android的WebView,需要复写WebViewClient,下面是示例代码。
public class TestWebViewClient extends WebViewClient {
private Context mContext;
public TestWebViewClient(Context context) {
mContext = context;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(shouldOverrideUrlLoading(url))
return true;
return super.shouldOverrideUrlLoading(view, url);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
String url = request.getUrl().toString();
if(shouldOverrideUrlLoading(url))
return true;
return super.shouldOverrideUrlLoading(view, request);
}
private boolean shouldOverrideUrlLoading(String url) {
if (!TextUtils.isEmpty(url) && url.startsWith("gojek://")) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
mContext.startActivity(intent);
return true;
}
return false;
}
}
点击下载:GoPayExample
API标准入款接入方式, 打开DANA支付方式, 页面提示错误, 看到的现象是空白,实际页面比较大, 移动页面可以看到页面错误:“The network connection is unstable. Please try again later."
如果打开PaySDK的容器是Android 的WebView,需要设置webView的WebSettings属性,代码如下
webSettings.setDomStorageEnabled(true);
webSettings.setTextZoom(100);
webSettings.setUseWideViewPort(true);
您可登录商户平台,通过「开发参数」频道生成和重置密钥。配置时,需注意区分测试环境和正式环境。
SHAREit Pay支持两种方式设置回调地址:
- 拥有开发参数权限的操作员或超级管理员可在商户平台中的「开发参数」频道生成和修改回调地址。
- 在下单时传入回调地址。查看详情 注意:若您传入的回调地址和商户平台配置的回调地址有冲突,以您传入的回调地址为准。
请确认是否已签订正式合同,且生成密钥时是否已处于合同有效期。若满足条件后,仍然生成失败,请联系SHAREit Pay平台。
- 请确认是否设置回调地址。
- 请确认回调地址是否填写正确,若仍有问题,请联系SHAREit Pay平台查明原因。
登录账号由SHAREit创建。 账号创建后,系统会触发激活邮件至您的邮箱,请注意查收下发的邮件。
新创建的账号,需要激活后方可登录使用。收到激活邮件后,请根据邮件指引点击激活,并设置初始登录密码。
若您没有在收到邮件24小时内及时激活账号,为保证账号安全,该链接会失效。请联系贵司拥有管理权限的操作员,重新发送激活邮件即可。
登录页面右下角有「忘记密码」按钮 ,点击后,可重置密码。
进入商户平台后,点击右上角的头像,选择「修改密码」按钮,即可进入修改页面。
若一个账号绑定了多个商户号,登录平台后,可通过点击页面右上角的商户名称,切换并查看不同商户号下的信息内容。 选择区会高亮提示当前所选中的商户号信息。
目前商户平台支持中文和英文两种语言,并可在以下两处切换:
- 平台登录页下方有切换语言按钮。
- 登录平台后,点击右上方的用户头像可切换语言。
商户平台中有三种类型的时区:
全局时区:
全局时区可控制整个商户平台的时间,默认时区为您的浏览器时区。可点击用户头像,通过「时区设置」切换。
搜索时区:
搜索时区可辅助客服处理收款相关的客诉问题。
您可通过该功能在搜索页快速切换时区。该时区仅对当前页的[订单发起时间]生效,若同时设置了全局时区和搜索时区,则以搜索时区为结果展示。刷新页面后,搜索时区会恢复默认值。
导出时区:
用户在导出订单信息时,可单独设置导出表格中的时区。若同时设置了全局时区、搜索时区和导出时区,则以导出时区为结果展示。
请确认是否与他人处于同一时区内。
请确认报表时区是否与他人一致。
受渠道限制,目前只支持印度支付方式的退款,退款发起成功后,金额预计将在1~21天原路返还至用户账户。
SHAREit Pay支持两种退款发起方式:
- 登录商户平台发起退款。
请进入「收款管理」-「订单查询」频道,搜索需要进行退款的交易订单,进入该笔订单的详情页,点击「发起退款」按钮。
- 通过退款接口发起退款。查看详情
订单需要满足以下七个条件,才能发起退款:
- 只有支付成功的订单才能发起退款
- 已在退款过程中的订单无法再次发起退款
- 已成功退款的订单无法再次发起退款
- 订单支付成功后的180天内可发起退款
- 请保证账户余额足以支付退款
- 目前只有印度的支付方式支持退款,其他国家的支付方式暂不支持
- 请确认发起者是否具有申请退款的权限 若未满足退款条件仍希望发起退款,建议使用SHAREit Pay的付款服务退款。详情欢迎咨询[email protected]。
当您成功发起退款申请后,退款金额预计将于21日内返回用户银行账户。受渠道限制,不同银行的实际到账时间不同。
退款金额会按原交易方式退还至用户账户中。 比如:用户通过Paytm Wallet付款,退款成功后,金额会返回至用户的Paytm Wallet账户中。
SHAREit Pay会优先从您的待结算账户(不可用余额)中扣除退款金额,若待结算账户(不可用余额)中金额不足,则会从商户账户(可用余额)中扣除退款金额。
若退款余额不足,您可通过商户平台的「账户充值」服务为您的账户充值后,再次发起退款。
退款成功仅表示渠道方已成功受理该笔退款申请,具体到账时间受渠道限制而有所不同。当您成功发起退款申请后,退款金额预计将于21日内返回用户银行账户。 受渠道约束,退款状态仅供查询受理是否成功,暂不支持查询退款处理的实际状态。但各渠道一般遵循下述规律处理退款:退款请求受理成功后,于1-21天内资金将原路退还至用户支付所用银行卡或账户。 若产生客诉,商户可按上述口径应答用户,如用户侧退款未在有效时间内处理,可接洽SHAREit Pay给予售后支持。
可以。无论是审批驳回还是退款失败的订单,只要处于退款有效期内,都可以再次发起退款申请。
可以。只要该笔订单符合发起退款的条件,即使已结算也不影响退款。
请先确认贵司是否开通了退款审批功能,若未开通,请联系SHAREit Pay平台为您添加内部审批功能;若已开通,请联系贵司的管理员或其他拥有管理权限的操作员为您添加权限。
满足结算条件的订单,将于1个中国工作日内完成转账。若未收到转账,可能原因如下:
- 请确认是否在合同中约定最低结算限额,即未满指定额度的结算单不予结算。
- 若银行于当地节假日期间暂停服务,转账时间将顺延。 SHAREit Pay将会在结算完成后,给您发送通知邮件。
结算银行卡信息需在合同签订时提供,若后续要更改请联系SHAREit Pay平台,并提供相关证件证明。
进入「结算管理」频道,填写完筛选项后,点击「导出」按钮,即可将该筛选项下的结算单信息导出成汇总表单,便于统计和分析。 导出结算单时,可自定义所需的时区,订单内所有的时间都会按所选时区进行转换。
交易金额:交易金额为用户实际支付的金额和币种。 应结金额:应结金额=交易金额-(应扣税费+应扣手续费+退款金额),此处涉及的币种皆为用户实际支付的币种。 转账金额:转账金额为实际转账金额。若存在跨境结算,此处的币种应为换算后的币种。
说明:退款金额中可能包含往期其他已结算交易单发起的退款。
结算笔数为该笔结算单中包含的原交易单笔数。
结转费用为银行收取的转账手续费,该笔费用将会从您的结算金额中扣除。
若存在跨币种结算,将以转账银行当日的汇率进行换算。
您可通过商户平台的「结算管理」频道查看和导出结算单的详细信息。
当结算打款成功后,我司会给商户平台的超级管理员及「财务」联系人发送邮件通知。
若贵司希望有多位财务需要收取结算通知邮件,建议在「财务」联系人邮箱中填写群组邮箱地址,您可自定义群组邮箱的收件人。
数据概览中所展示的订单笔数是以订单创建日期为维度进行展示的,结算单详情中的所结订单笔数是以订单完成时间为维度进行结算的,两者维度不同,所以订单笔数不同。 建议贵司在对账时,可以通过「收款管理」-「订单查询」页面导出订单详情对账。
SHAREit Pay支持两种方式查看账户余额:
- 主动查询:进入商户平台「账户管理」-「账户信息」频道,查看当前的账户余额。
- 邮件提醒:进入商户平台「账户管理」-「账户信息」-「余额提醒」频道,配置余额预警规则。当您的账户余额小于等于预警值时,SHAREit Pay会发送邮件通知您。
「可用余额」为您的充值金额,可用于付款服务和退款服务。 「不可用余额」为待结算金额,无法用于付款服务,可用于退款服务。
进入商户平台「账户管理」-「账户信息」频道,可查看「可用余额」的账户变动记录。
进入商户平台「账户管理」-「账户充值」频道,按提示步骤给账户充值。
如果您是跨币种转账,请在提交充值申请时,填写实际转账货币和币种。 我们将以实际收到的金额为您的账户充值。换算汇率以转账银行当日汇率为准。
商户号是我司为贵司开通的一个具有唯一标识的编号,您若碰到业务或客诉问题想要咨询,请提供商户号,以便我司定位问题。
目前商户平台有两处可查看商户号:
- 点击页面右上角的商户名称。
- 通过「设置服务」-「信息管理」频道,查看商户号。
进入「信息管理」频道,查看贵司的基本信息和结算银行账户信息,并可编辑贵司的联系人信息。
显示名称将用于商户平台和收银台名称的展示。 受渠道限制,该名称暂不支持自定义变更。 如需变更,请联系SHAREit Pay平台,并提供变更原因和凭证。
商务联系人信息为必填项,无法删除,只能编辑。
进入「信息管理」频道,点击查看「基本信息」-「合同状态」-「可用服务」,查看可用服务信息。
正式环境:正式环境中的支付产品是以生效合同为准,若想更改支付产品,请先联系与贵司对接的商务人员,签订新合同。 测试环境:请联系SHAREit Pay平台更改测试环境的支付产品。
SHAREit Pay支持三种方式查看订单状态:
「收款管理」-「订单查询」频道中,点击搜索条件中的时区按钮,可快速切换时区。该时区仅对当前页生效,刷新后即可恢复默认值。若同时设置了全局时区和搜索时区,则以搜索时区为结果展示。
进入「收款管理」-「订单查询」频道,填写完筛选项后,点击「导出」按钮,即可将该筛选项下的订单信息导出成汇总表单,便于统计和分析。导出订单时,可自定义所需的时区,订单内所有的时间都会按所选时区进行转换。
请确定是否在查询条件中设置了时区。查询时区仅对当前页生效,而详情中的时区则由全局时区控制。
在确保订单号输入无误时,仍不存在,可能原因为:
- 用户进入收银台后,快速退出。
- 网络教慢,在页面加载完成前,用户退出收银台。 以上两种情况,会导致商户订单号已生成,但未生成平台订单号。因此查询订单不存在。
请先确保订单号输入是否正确,若输入正确仍无法查询该订单,可能原因为:
- 用户进入收银台后,快速退出。
- 网络教慢,在页面加载完成前,用户退出收银台。 以上两种情况,会导致商户订单号已生成,但未生成平台订单号。因此查询订单不存在。
退款成功仅表示渠道方已成功受理该笔退款申请,具体到账时间受渠道限制而有所不同。当您成功发起退款申请后,退款金额预计将于1-21日内返回用户银行账户。 受渠道约束,退款状态仅供查询受理是否成功,暂不支持查询退款处理的实际状态。但各渠道一般遵循下述规律处理退款:退款请求受理成功后,于1-21天内资金将原路退还至用户支付所用银行卡或账户。 若产生客诉,商户可按上述口径应答用户,如用户侧退款未在有效时间内处理,可接洽SHAREit Pay给予售后支持。
可能原因为:用户未在订单有效时间内完成付款,即订单已超时关闭后,用户才付款成功。 针对这类情况,贵司可直接按失败状态处理,该笔订单会由我司负责触发退款流程,预计1-21天内资金将原路退还至用户支付所用银行卡或账户。
- Paytm出于防刷和成本考虑,对规定时间内的OTP请求做了限制
- Paytm未对OTP频次进行明确说明,但是测试下来的结果大约为10分钟10条
- 如果用户需要解除OTP限制,需要提醒用户主动联系Paytm解决****