讯联支付sdk集成简单讲解

上海讯联支付多用于pos机等的集成支付

下单支付理解

商家终端设备通过扫码枪或手工输入,获取用户支付宝或微信等客户端上的付款码,并同时将交易金额、支付条件信息(scanCodeId)等,发送到后台。正常情况下免密交易,后台会立即返回成功。仅当后台返回“09”处理中和接收超时情况,需要商家终端设备自动或手工调用查询订单接口,以确认交易是否成功

讯联数据支付使用流程

(1)       http://www.cardinfolink.com/   上海讯联数据找到云收银

(2)       商户选择申请流程获取客户端使用的各种信息

(3)       客户端进行集成

客户端实现流程

(1)项目添加CashierSdk包

2)初始化

下单支付的情况

(3)获取顾客的微信或支付宝的客户端的付款码(通过扫描枪或其他设备扫描顾客的二维码获取付款码

(4)调用下单支付功能

(5)当支付监听中监听到支付返回09或支付超时,需要我们自己调用查询的方法查看是否支付成功

实现例子:

public class MainActivityextends Activity {

private String orderNum;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        orderNum=getIntent().getStringExtra("orderNum");//商品的订单号,非重复的

        //1初始化

        init();

        //走下单支付

    }

    

    private void init(){

     InitData initData = new InitData();

initData.mchntid = "*********";// 商户号,由讯联数据分配

initData.inscd = "*********";// 机构号,商户所属机构标识

initData.terminalid = "*********";// 终端号

initData.isProduce = true;// 生产环境必须将此值设为TRUE

initData.signKey = "*********";// 双方约定的签名密钥

// 初始化

CashierSdk.init(initData);

    }

    private void startPay(String scanCode){

     OrderData data=new OrderData();

     data.txamt="0.1";//订单交易金额,格式如:10,10.1,10.11

     data.orderNum=orderNum;//支付方的订单号,同一个商户下的订单号不可重复

     data.scanCodeId=scanCode;//终端扫出来的字符串(付款码)

     data.currency="156";//币种,目前仅支持人民币,固定值为“156

     CashierSdk.startPay(data,listener);

    }

    

    CashierListener listener=new CashierListener(){

 

@Override

public void onError(int arg0) {

}

 

@Override

public void onResult(ResultData resultData) {

if("PURC".equals(resultData.busicd)){

//代表下单时,设置的监听返回的结果

if("00".equals(resultData.respcd)){

//代表支付成功

}else{

//即没有支付成功:可能为09需要商户手动完成支付操作,或超时同样需要商户手动完成操作

//可以在此添加弹窗询问是否需要完成支付

startQy();//未成功支付时,查询订单手动完成订单支付

}

}else if("INQY".equals(resultData.busicd)){

//当扫描支付未成功时查询信息手动支付调用监听返回结果

if ("SUCCESS".equals(resultData.errorDetail)) {

//手动支付成功

} else {

//手动支付失败//仍然可以再次查询,手动支付

}

}

}

    

    };

    private void startQy(){

     OrderData data=new OrderData();

     data.origOrderNum=orderNum;//支付方的原交易的订单号//支付方的订单号,同一个商户下的订单号不可重复

     CashierSdk.startQy(data,listener);//查询的方法

    }

}

退款流程:

基本与付款流程相同

 

public class MainActivityextends Activity {

private String orderNum;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        orderNum=getIntent().getStringExtra("orderNum");//商品的订单号,非重复的

        //1初始化

        init();

    }

    

    private void init(){

     InitData initData = new InitData();

initData.mchntid = "**********"; // 商户号,由讯联数据分配

initData.inscd = "*******"; // 机构号,商户所属机构标识

initData.terminalid = "*******"; // 终端号

initData.isProduce = true;// 生产环境必须将此值设为TRUE

initData.signKey = "*********"; // 双方约定的签名密钥

// 初始化

CashierSdk.init(initData);

    }

    private void startPay(String scanCode){

     OrderData data=new OrderData();

     data.txamt="0.1";//订单交易金额,格式如:10,10.1,10.11

     data.orderNum=orderNum;//支付方的订单号,同一个商户下的订单号不可重复

     data.scanCodeId=scanCode;//终端扫出来的字符串(付款码)

     data.currency="156";//币种,目前仅支持人民币,固定值为“156

     CashierSdk.startRefd(data,listener);

    }

    

    CashierListener listener=new CashierListener(){

 

@Override

public void onError(int arg0) {

}

 

@Override

public void onResult(ResultData resultData) {

if("REFD".equals(resultData.busicd)){

//代表退款时,设置的监听返回的结果

if("00".equals(resultData.respcd)){

//代表退款成功

}else{

//即没有退款成功:可能为09需要商户手动完成支付操作,或超时同样需要商户手动完成操作

//可以在此添加弹窗询问是否需要完成退款

startQy();//未成功退款时,查询订单手动完成订单支付

}

}else if("INQY".equals(resultData.busicd)){

//当扫描支付未成功时查询信息手动支付调用监听返回结果

if ("SUCCESS".equals(resultData.errorDetail)) {

//手动退款成功

} else {

//手动退款失败//仍然可以再次查询,手动支付

}

}

}

    

    };

    private void startQy(){

     OrderData data=new OrderData();

     data.origOrderNum=orderNum;//支付方的原交易的订单号//支付方的订单号,同一个商户下的订单号不可重复

     CashierSdk.startQy(data,listener);//查询的方法

    }

}

 

官方文档:http://show.money/androidsdk.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值