Flutter开发App的未来及其在各行业的应用潜力分析
1170
2022-11-15
Android 银联控件支付开发流程
一:介绍
集成前首先要看看文档,银联手机控件支付,里面包含需要的库文件和详细的文档。鉴于小伙伴们不容易找到,好事做到底,送上截图方便-。
二:支付流程介绍
通过支付控件进行交易的流程如下图:
三:-银联SDK
银联手机控件支付SDK
-之后,找到两个jar包,将UPPayAssistEx.jar和UPPayPluginExPro.jar添加到商户应用的工程中
四:导入开发SDK
导入sdk流程同支付宝导入流程一样,这里就借用支付宝导入流程进行介绍。
4.1 如果项目开发使用的Eclipse软件,导入步骤如下:
1.将alipaySDK-20150602.jar包放入商户应用工程的libs目录下,如下图。
2.进入商户应用工程的Java Build Path,将libs目录下的alipaySDK-20150602.jar导入,如下图。
3.选中Order and Export,勾选alipaySDK-20150602.jar,如下图。
将上图的支付宝sdk更换成银联控件支付的两个jar包即可
4.2 如果项目开发使用的Android Studio软件,导入步骤如下:
1.将银联SDK拷贝到项目libs文件夹下,如果没有libs文件夹,就新建一个。
2.如果sdk使用过程中,提示找不到文件。 进行如下操作,选中sdk文件,右击选择Reveal in Finder
除了导入jar包之外,还要导入资源包和依赖包,如下图:
五:修改AndroidManifest.xml配置
"org.simalliance.openmobileapi" android:required="false" /> "android.permission.INTERNET" /> 到这里,银联支付的前期配置已经完成,下面需要完成支付代码编写。 六:支付接口调用 在mHandler中处理调起支付 private Handler mHandler = new Handler() { public void handleMessage(Message msg) { if (msg.what == SDK_PAY_UPPAY){ String tn = (String) msg.obj; Log.i("charge", tn); int ret = UPPayAssistEx.startPay (ThirdActivity.this, null, null, tn, "01"); } } }; 支付结果回调 支付完成后,获取支付控件支付结果,并添加相应处理逻辑,只需实现调用Activity中的onActivityResult()方法即可,支付成功时会返回商户客户端支付结果和签名信息。 控件返回的结果信息仅作为参考,商户订单是否成功支付应该以商户后台主动到全渠道查询的结果或者收到全渠道支付结果通知为准。
示例代码如下: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { /************************************************* * 步骤3:处理银联手机支付控件返回的支付结果 ************************************************/ if (data == null) { return; } String msg = ""; /* * 支付控件返回字符串:success、fail、cancel 分别代表支付成功,支付失败,支付取消 */ String str = data.getExtras().getString("pay_result"); if (str.equalsIgnoreCase("success")) { // 支付成功后,extra中如果存在result_data,取出校验 // result_data结构见c)result_data参数说明 if (data.hasExtra("result_data")) { msg = "支付成功!"; } else if (str.equalsIgnoreCase("fail")) { msg = "支付失败!"; } else if (str.equalsIgnoreCase("cancel")) { msg = "用户取消了支付"; } AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("支付结果通知"); builder.setMessage(msg); builder.setInverseBackgroundForced(true); builder.setNegativeButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); } } 以下三种为常用结果判断 success为支付成功
fail为支付失败
cancel为取消支付 希望可以帮助大家
如果哪里有什么不对或者不足的地方,还望读者多多提意见或建议
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~