示例代码

初始化key

//初始化sdk
NldPaySDK.getInstance().init(SECRET_KEY);
其中SECRET_KEY为进件审核通过过的商户密钥

商户主扫

String latitude=""; //纬度值
String longitude=""; //经度值
String orgNo=""; //机构号
String mercId=""; //商户号
String trmNo=""; //设备号 进件生成的终端号
String oprId=""; //操作员号
String trmTyp= NldPayConstant.TrmTyp.TYPE_A; //设备类型
String amount=""; // 实付金额
String total_amount=""; //订单总金额
String authCode=""; //设备读取用户二维码信息
String payChannel=NldPayConstant.PayChannel.WEICHAT; //支付渠道
String subject=""; //订单标题
String selOrderNo=""; //订单号
String goods_tag=""; //订单优惠说明
String attach=""; //附加数据
String txnTime=""; //设备端交易时间
NldPhonePay nldPhonePay= new NldPhonePay( latitude, longitude, orgNo, mercId, trmNo, oprId, trmTyp, amount, total_amount, authCode, payChannel, subject, selOrderNo, goods_tag, attach, txnTime);
try {
NldPaySDK.getInstance().requestPhonePay(nldPhonePay, new OnResultListener() {
@Override
public void onSuccess(NldPhoneResult nldPhoneResult) {
//nldPhoneResult为返回的结果,在此处处理业务逻辑
}
@Override
public void onFailure(int errorCode, String errorMessage) {
//返回参数为错误码和错误信息,在此处处理业务逻辑
}
});
}catch (NewPayRuntimeException e)
{
//异常捕获处理
}

客户主扫

String latitude=""; //纬度值
String longitude=""; //经度值
String orgNo=""; //机构号
String mercId=""; //商户号
String trmNo=""; //设备号 进件生成的终端号
String oprId=""; //操作员号
String trmTyp= NldPayConstant.TrmTyp.TYPE_A; //设备类型
String amount=""; // 实付金额
String total_amount=""; //订单总金额
String payChannel=NldPayConstant.PayChannel.WEICHAT; //支付渠道
String subject=""; //订单标题
String selOrderNo=""; //订单号
String goods_tag=""; //订单优惠说明
String attach=""; //附加数据
String txnTime=""; //设备端交易时间
NldPosPay nldPosPay=new NldPosPay(latitude, longitude, orgNo, mercId, trmNo, oprId, trmTyp, payChannel, amount, total_amount, subject, selOrderNo, goods_tag, attach, txnTime);
try {
        NldPaySDK.getInstance().requestPosPay(nldPosPay, new OnResultListener<NldPosResult>() {
        @Override
        public void onSuccess(NldPosResult nldPosResult) {
        //nldPosResult为返回的结果,在此处处理业务逻辑
        //将 nldPosResult.payCode(商户的二维码Code)转换为二维码
        }

        @Override
        public void onFailure(int errorCode, String errorMessage) {
        //返回参数为错误码和错误信息,在此处处理业务逻辑
        }
        });
    }
    catch (NewPayRuntimeException e)
    {
    //异常捕获处理
    }

退款

String latitude=""; //纬度值
String longitude=""; //经度值
String orgNo=""; //机构号
String mercId=""; //商户号
String trmNo=""; //设备号 进件生成的终端号
String oprId=""; //操作员号
String trmTyp= NldPayConstant.TrmTyp.TYPE_A; //设备类型
String txnTime=""; //设备端交易时间
String orderNo=""; //支付渠道订单号
String txnAmt=""; //退款金额
try {
NldRefundPay nldRefundPay=new NldRefundPay(latitude, longitude, orgNo, mercId, trmNo, oprId, trmTyp, orderNo, txnAmt, txnTime);
NldPaySDK.getInstance().requestRefundPay(nldRefundPay, new OnResultListener() {
@Override
public void onSuccess(NldRefundResult nldRefundResult) {
//nldRefundResult即为返回结果,在此处理业务逻辑
}
@Override
public void onFailure(int errorCode, String errorMessage) {
//返回参数为错误码和错误信息,在此处处理业务逻辑
}
});
}catch (NewPayRuntimeException e)
{
//异常捕获处理
}

订单查询

String latitude=""; //纬度值
String longitude=""; //经度值
String orgNo=""; //机构号
String mercId=""; //商户号
String trmNo=""; //设备号 进件生成的终端号
String oprId=""; //操作员号
String trmTyp= NldPayConstant.TrmTyp.TYPE_A; //设备类型
String txnTime=""; //设备端交易时间
String qryNo=""; //要查询的订单号
try {
NldQueryPay nldQueryPay = new NldQueryPay(latitude, longitude, orgNo, mercId, trmNo, oprId, trmTyp, qryNo, txnTime);
NldPaySDK.getInstance().requestQueryPay(nldQueryPay, new OnResultListener() {
@Override
public void onSuccess(NldQueryResult nldQueryResult) {
//nldQueryResult即为返回结果,在此处理业务逻辑
}
@Override
public void onFailure(int errorCode, String errorMessage) {
//返回参数为错误码和错误信息,在此处处理业务逻辑
}
});
}catch (NewPayRuntimeException e)
{
//异常捕获处理
}

轮询

String latitude=""; //纬度值
String longitude=""; //经度值
String orgNo=""; //机构号
String mercId=""; //商户号
String trmNo=""; //设备号 进件生成的终端号
String oprId=""; //操作员号
String trmTyp= NldPayConstant.TrmTyp.TYPE_A; //设备类型
String txnTime=""; //设备端交易时间
String qryNo=""; //要查询的订单号
try {
NldQueryPay nldQueryPay = new NldQueryPay(latitude, longitude, orgNo, mercId, trmNo, oprId, trmTyp, qryNo, txnTime);
NldPaySDK.getInstance().requestRollQueryPay(nldQueryPay, new OnResultListener() {
@Override
public void onSuccess(NldQueryResult nldQueryResult) {
//nldQueryResult即为返回结果,在此处理业务逻辑
}
@Override
public void onFailure(int errorCode, String errorMessage) {
//返回参数为错误码和错误信息,在此处处理业务逻辑
}
});
}catch (NewPayRuntimeException e)
{
//异常捕获处理
}

撤单接口

String latitude=""; //纬度值
String longitude=""; //经度值
String orgNo=""; //机构号
String mercId=""; //商户号
String trmNo=""; //设备号 进件生成的终端号
String oprId=""; //操作员号
String trmTyp= NldPayConstant.TrmTyp.TYPE_A; //设备类型
String txnTime=""; //设备端交易时间
String qryNo=""; //要查询的订单号
try {
NldRefundPay nldRefundPay = new NldRefundPay(latitude, longitude, orgNo, mercId, trmNo, oprId, trmTyp, qryNo, txnTime);
NldPaySDK.getInstance().requestRefundPay(refundPay, new OnResultListener<NldRefundResult>() {
                        @Override
                        public void onSuccess(NldRefundResult nldRefundResult) {
                            showResultMessage("网络请求成功:" + new Gson().toJson(nldRefundResult));

                        }

                        @Override
                        public void onFailure(int errorCode, String errorMessage) {
                            showResultMessage("网络请求失败:" + errorCode + " --- " + errorMessage);
                        }
                    }

            );
        } catch (NewPayRuntimeException e) {
            showResultMessage("异常原因==》" + e.getMessage());

        }

设置日志输出

在应用程序入口处添加以下代码
//设置debug模式 是否打印log
NldPaySDK.getInstance().setDebugModule(true);

results matching ""

    No results matching ""