Android快速银联集成支付

第一步:截图中的红色框,在这个地址https://open.unionpay.com/ajweb/help/file/techFile?productId=3 下载下来的手机支付控件里面的东西,把它们拉进你们的libs和assets里面。



第二步:配置文件中,把银联需要的环境配置好,记得加上链接网络,我这里因为在其他地方用到了,这里就没写上去

<!-- 银联支付相关配置 -->
<uses-library
    android:name="org.simalliance.openmobileapi"
    android:required="false" />
<activity
    android:name="com.unionpay.uppay.PayActivity"
    android:configChanges="orientation|keyboardHidden"
    android:excludeFromRecents="true"
    android:label="@string/app_name"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="adjustResize" />
<activity
    android:name="com.unionpay.UPPayWapActivity"
    android:configChanges="orientation|keyboardHidden"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="adjustResize" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc.hce" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="org.simalliance.openmobileapi.SMARTCARD" />

第三步:调用这个方法 ,里面的数字是tn,是银联开发提供的,具体可以看,下载的开发包里面的《开发联调步骤向导》里面有说到,我是直接把它拿出来,赋值到我的方法里面而已,到时候开发时,把这个tn换成自己公司后台生成的21位数的tn就可以了。

btn_goumai.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        payByUnionPay("790660476908195552701");
    }


        /**
         * 银联支付
         * @param tn
         */
        public void payByUnionPay(String tn) {
            if (!UPPayAssistEx.checkInstalled(getActivity())) {
                // 需要重新安装控件
                AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                builder.setTitle("提示");
                builder.setMessage("完成购买需要安装银联支付控件,是否安装?");
                builder.setNegativeButton("确定",
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                UPPayAssistEx.installUPPayPlugin(getActivity());
                                dialog.dismiss();
                            }
                        });

                builder.setPositiveButton("取消",
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog,
                                                int which) {
                                dialog.dismiss();
                            }
                        });
                builder.create().show();
            } else {
                doStartUnionPayPlugin(getActivity(), tn);
        }
    }
    /**
     * 启动支付界面
     */
    public void doStartUnionPayPlugin(Activity activity, String tn) {
        // “00” – 银联正式环境
        // “01” – 银联测试环境,该环境中不发生真实交易
        String serverMode = "01";
        UPPayAssistEx.startPay(activity, null, null, tn, serverMode);
    }
});

最后结束了,这样就可以成功调用银联了,《开发联调步骤向导》里面有测试的账号,模拟买单,可以去看一下,然后自己尝试支付,不需要钱的。如果有什么不对的,希望各位指点一下,因为我也不太懂。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值