SDK-A集成文档2.0
<p>1、简要描述:</p>
<p>SDK-A集成了UPI,UPI Request、UPI Transfer(UPI转账)和Bank Transfer(网银转账)四种用户支付方式。
SDK采取内置回调方式,模式为:SDK请求商户后台,商户返回结果。所以商户需要接入API格式,把API的结果返回给SDK。
添加SDK国际化版本(印度语)
业务流程图可以查看【代收代付时序图】,<a href="https://www.showdoc.com.cn/1033811985337405?page_id=5330629943513849">https://www.showdoc.com.cn/1033811985337405?page_id=5330629943513849</a> 点此直接到达
2、下载地址:</p>
<p>点击下载2.0 <a href="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/2f1f94888b173b659ca54c87abaeb029" title="[consolesdk2.0.zip">consolesdk2.0.zip</a>即可下载
点击下载2.1(最新版)<a href="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/3ec8eec12bbc5e4ae582fb36c0e26749" title="[consolesdk2.1.zip">consolesdk2.1.zip</a>即可下载
3、SDK集成时商户后台对应需调起业务API说明</p>
<p>4、SDK集成文档:</p>
<p>1)添加.aar包到lib文件夹
2)在app下build.gradle 的android标签下添加
repositories {
flatDir {
dirs 'libs'
}
}
3)添加aar包扫描
implementation fileTree(dir: 'libs', include: ['<em>.jar'])
android在原生基础上添加:'</em>.aar'
implementation fileTree(dir: 'libs', include: ['<em>.jar', '</em>.aar'])
4)添加自定义UI设置
是否显示普通UPI用户姓名电话号码
IMPPayManager.getService().setFixed(true);
设置自定义UI
设置弹出框选择字体颜色
IMPPayManager.getService().setSelectCenterColor(0xffDC143C);
设置标题背景色
IMPPayManager.getService().setTitleBackColor(0xffDC143C);
设置按钮背景色
IMPPayManager.getService().setButtonBackColor(0xffDC143C);
设置按钮字体色
IMPPayManager.getService().setButtonTextColor(0xffffffff);
设置copy按钮背景色
IMPPayManager.getService().setCopyBackColor(0xffDC143C);
设置copy按钮字体色
IMPPayManager.getService().setCopyTextColor(0xffffffff);
设置边框背景色
IMPPayManager.getService().setAccountCircleColor(0xffDC143C);
5)添加需要接入支付方式(根据商户需要,可灵活配置使用。 中间用|隔开,避免无法识别,默认4中方式都接入)
5.1)对应配置项参数
UPI :UPIThree
UPI Request :UPIRequest
UPI Transfer :UPITransfer
Bank Transfer :BankTransfer
5.2)SDK中参数配置方式
IMPPayManager.getService().setType("UPIThree|UPIRequest|UPITransfer|BankTransfer");
6)输入参数设置
6.1) SDK首页订单页面参数设置
orderEntity.setAmount(Amount.getText().toString()); //设置金额
orderEntity.setName(Name.getText().toString()); //设置名称
orderEntity.setOrder(Order.getText().toString()); //设置订单号
orderEntity.setTime(Time.getText().toString()); //设置订单时间(印度时间格式示例:07-23-2020 15:34:23)
6.2) UPI Request参数设置
UpiEntity param = new UpiEntity();
param.setPayerVA(PayerVA.getText().toString());
param.setPhone(Phone.getText().toString());
param.setName(Name2.getText().toString());
6.3)UPI Transfer参数设置
TranserEntity param = new TranserEntity();
param.setReceiverVa(ReceiverVa2.getText().toString());
6.4)Bank Transfer参数设置
TranserEntity param = new TranserEntity();
param.setReceiverVa(ReceiverVa.getText().toString());
param.setIfsc(Ifsc.getText().toString());
7)调用付款平台
IMPPayManager.getService().CreateConsoleTransaction(getBaseContext(), orderEntity,new IMPCallback() {
/<strong>
调用:在SDK中Transfer Way页面,用户选择UPI支付方式后,点击Confirm按钮时调用。
功能:获取调起UPI支付时需要的token。前端调用商户后端,后端程序调用UPI代收
(v2.0)接口并将token值返回给前端。
</strong>/
@RequiresApi(api = Build.VERSION_CODES.O)
@Override
public void startUPI() {
/<strong>
此处前端调用商户后端,后端调用UPI代收(v2.0)接口获取token并将token返回给前端,前端调用
下面方法并将token填入方法入参中。
</strong>/
IMPPayManager.setUPI(getBaseContext(), token);
}
/<strong>
调用:在SDK中Transfer Way页面,用户选择UPI Request支付方式后,点击Confirm按钮时调用。
功能:商户选择传入用户UPI账号,用户手机号和名称,还是用户自己在SDK页面输入。
</strong>/
@Override
public void startUpiRequest() {
//用户手动输入的UPI账号,手机号,用户名称的调用方式
IMPPayManager.setUpiRequest(getBaseContext());
/<strong>
//如果商户方保存了用户的UPI账号信息,那么可用商户本地数据库中用户的账号信息初始化
//UpiEntity实体参数,并选用以下方式进行调用。
UpiEntity param = new UpiEntity();
param.setPayerVA(); //用户自己的UPI账号
param.setPhone(); //用户手机号
param.setName(); //用户名称
IMPPayManager.setUpiRequest(getBaseContext(), param);
</strong>/
}
/<strong>
调用:UPI Request收款支付流程中,用户输入UPI账号,手机号,用户名称后,点击Pay Now按钮时
调用。
功能:UPI Request收款下单。
</strong>/
@Override
public void getUpiRequest(UpiEntity payEntity) {
/<strong>
商户后端调用UPI Request代收(v1.0)接口进行下单,并获取订单受理结果。支付交易银行采用异步
处理, 订单的最终成功/失败结果会通过回调API来告知。
</strong>/
}
/<strong>
调用:在SDK中Transfer Way页面,用户选择UPI Transfer支付方式后,点击Confirm按钮时调用。
功能:获取专属UPI账号。前端调用商户后端,后端程序调用创建收款专属UPI/银行账号接口,将获
取到的专属UPI收款账号返回至前端。
</strong>/
@Override
public void startTranserUpi() {
/<strong>
此处前端调用商户后端,后端调用创建收款专属UPI/银行账号接口,将获取到的专属UPI收款账号
返回至前端,前端将UPI收款账号填写至TranserEntity中。
</strong>/
TranserEntity param = new TranserEntity();
param.setReceiverVa(receiverVa); //receiverVa为后端传回的专属UPI账号
IMPPayManager.setTransUPI(getBaseContext(), param); //开启转账UPI账号获取
}
/<strong>
调用: 在SDK中Transfer Way页面,用户选择Bank Transfer支付方式后,点击Confirm按钮时调用。
功能:获取专属银行账号。前端重写startTranserBank方法调用商户后端,后端程序调用创建收款专
属UPI/银行账号接口,将获取到的专属银行账号及IFSC号返回至前端。
</strong>/
@Override
public void startTranserBank() {
/<strong>
此处前端调用商户后端,后端调用创建收款专属UPI/银行账号接口,将获取到的专属银行收款账
号和IFS号返回至前端,前端将银行收款账号和IFSC号填写至TranserEntity中。
</strong>/
TranserEntity param = new TranserEntity();
param.setReceiverVa(receiverVa); //receiverVa为后端传回的专属银行账号
param.setIfsc(ifsc); //ifsc为后端传回的银行IFSC值
IMPPayManager.setTransBank(getBaseContext(), param);//开启网银转账账号获取
}
@Override
public void onError(int ErrorCode, String inErrorMessage) {
//错误日志回调
//10000 参数错误
//10001 UPI Request参数错误
//10002 UPI Transfer参数错误
//10003 Bank Transfer参数错误
//10004 UPI调用错误
}
@Override
public void onBack(int ErrorCode) {
//SDK退出回调
//10005 订单页面直接返回
//10006 进入UPI Request页面后返回
//10007 进入获取转账UPI后返回
//10008 进入获取转账银行账户后返回
//10009 进入UPI付款方式后返回
}
});</p>