注意事项:

1.联通支付是不需要自己标识软硬计费点的,当平台申请计费点的时候会提交每个计费点是否允许重复支付(即软硬计费点),支付时我们只需要传入相应的计费点即可,平台会帮我们记录哪个是软计费点,哪个是硬计费点。

2.联通需将premessable.txt文件copy到工程assets目录下,用来配置渠道,每个渠道对应不同的渠道号,例如联通渠道号为:“00012243”。

3.游戏付费完成后直接结束付费,勿添加额外的提示信息,例如:Toast,AlertDialog等。

4.AndroidManifest.xml中正确配置应用开发者ID,应用ID,AppID,渠道伪码(线下渠道)后即可进行测试付费(0.01元)

AndroidManifest.xml

[html] view plaincopy
  1. <application
  2. android:allowBackup="true"
  3. android:icon="@drawable/ic_launcher"
  4. android:label="@string/app_name"
  5. android:theme="@style/AppTheme" >
  6. <activity
  7. android:name="com.example.blogforlt.MainActivity"
  8. android:label="@string/app_name" >
  9. <intent-filter>
  10. <action android:name="android.intent.action.MAIN" />
  11. <category android:name="android.intent.category.LAUNCHER" />
  12. </intent-filter>
  13. </activity>
  14. <!-- 应用开发者ID   cpId: -->
  15. <meta-data
  16. android:name="cpId"
  17. android:value="cpid:XXXX" >
  18. </meta-data>
  19. <!-- 应用ID   AppId: -->
  20. <meta-data
  21. android:name="AppId"
  22. android:value="appid:XXXX" >
  23. </meta-data>
  24. <!-- 渠道伪码(线下渠道) -->
  25. <meta-data android:name="fidsms"
  26. android:value="fidsms:XXXXX" >
  27. </meta-data>
  28. </application>
  29. <uses-permission android:name="android.permission.INTERNET"/>
  30. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  31. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
  32. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
  33. <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
  34. <uses-permission android:name="android.permission.SEND_SMS"/>
  35. <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
  36. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
[html] view plaincopy
[html] view plaincopy

MainActivity.java

[java] view plaincopy
  1. findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
  2. @Override
  3. public void onClick(View v) {
  4. // TODO Auto-generated method stub
  5. Fiap fiap = new Fiap(MainActivity.this);
  6. fiap.android_Pay(1);
  7. }
  8. });

Fiap.java

[java] view plaincopy
  1. package com.example.blogforlt;
  2. import com.multimode_billing_sms.ui.MultiModePay;
  3. import com.multimode_billing_sms.ui.MultiModePay.SMSCallBack;
  4. import android.app.Activity;
  5. import android.os.Handler;
  6. import android.util.Log;
  7. import android.widget.Toast;
  8. public class Fiap {
  9. private Activity mActivity;
  10. //计费点短代码
  11. private String charge_Point;
  12. //道具名称
  13. private String itemID= "";
  14. //道具金额
  15. private int coin;
  16. public Fiap(Activity activity){
  17. mActivity = activity;
  18. }
  19. //index是三种计费点对应的标识
  20. public void android_Pay(int index){
  21. switch (index) {
  22. case 0:
  23. //激活游戏
  24. //此处计费点填写移动平台申请的计费点的后三位作为计费点索引
  25. charge_Point = "000";
  26. itemID = "激活游戏";
  27. coin = 6;
  28. break;
  29. case 1:
  30. charge_Point = "001";
  31. itemID = "购买200兑换币";
  32. coin = 2;
  33. break;
  34. case 2:
  35. charge_Point = "002";
  36. itemID = "购买400兑换币";
  37. coin = 3;
  38. break;
  39. default:
  40. break;
  41. }
  42. fiapHandler.sendEmptyMessage(1);
  43. }
  44. Handler fiapHandler = new Handler(){
  45. public void handleMessage(android.os.Message msg) {
  46. if (msg.what == 1) {
  47. MultiModePay.getInstance().setEnableSend(true);// 调用SMS方法前必须调用
  48. // 参数依次为:当前界面的Context,公司名字,电话号码,游戏名,道具名,道具金额(元),计费点,回调接口
  49. MultiModePay.getInstance().sms(mActivity, "北京XXXXXX有限公司",
  50. "010-XXXXXXXX", "XXX", itemID, String.valueOf(coin),
  51. charge_Point, new MsgCallBack());
  52. }
  53. };
  54. };
  55. class MsgCallBack implements SMSCallBack {
  56. @Override
  57. public void ButtonCLick(int arg0) {
  58. // TODO Auto-generated method stub
  59. }
  60. @Override
  61. public void SmsResult(int result, String arg1) {
  62. // TODO Auto-generated method stub
  63. if (result == MultiModePay.SUCCESS) {
  64. // 支付成功的处理,直接执行支付成功后的逻辑,此处为了体现出支付成功弹了个Toast,正式使用时不要有任何提示
  65. Toast.makeText(mActivity, "支付成功", Toast.LENGTH_LONG).show();
  66. Log.i("cn.catcap.qhta", "联通方式支付成功。。。。");
  67. } else if (result == MultiModePay.FAILD) {
  68. Log.i("cn.catcap.qhta", "联通方式支付失败。。。。");
  69. }
  70. MultiModePay.getInstance().DismissProgressDialog(); // 取消进度条,此行必须有才能回到游戏界面
  71. }
  72. }
  73. }

至此,Android三大运营商的sdk付费接入已完成

Android支付接入(四):联通支付相关推荐

  1. 支付系统设计四:支付核心设计03-快捷短信确认(失败转代扣)

    文章目录 前言 一.快捷支付 1. 执行流程 1.1 发送短信 1.1.1 发送短信(正常情况) 1.1.2 发送短信(异常情况) 1.2 短信确认 1.2.1 短信确认(正常情况) 1.2.2 短信 ...

  2. 个人支付接入-个人app支付微信支付、支付宝支付接入(2分钟完成接入)

    作为一个个人开发者,一开始在个人的应用中接入广告,慢慢的这种方式越来越被摒弃了,下面简单介绍一下我最近使用的一款感觉很不错的个人聚合支付的平台的接入流程,其实很简单,分为两步即可. 贝贝支付官网:ht ...

  3. 支付系统设计四:支付核心设计03-快捷发送短信(失败转代扣)

    文章目录 前言 一.背景 1. 应用架构 2. 分层支撑机制 二.银行卡快捷支付 1. 用户操作流程 2. 系统执行流程--正常 2.1 发送短信 2.2 短信确认 3. 系统执行流程--异常 3.1 ...

  4. 微信支付分(四)--取消支付分订单

    文章目录 1.介绍 2.代码 3.注意点 1.介绍 代码地址: https://github.com/xm646236438/wechat_pay_score/tree/master SpringBo ...

  5. Android安卓原生接入微信app支付PHP服务端

    Android安卓接入微信app支付PHP服务端 1.进入微信商户平台查看统一下单接口文档. 在查看完统一下单文档后,能够看到需要传递给微信"统一下单接口"地址的参数有哪些 统一下 ...

  6. 微信Native支付接入教程(2022简洁版)

    PC网站接入支付 微信支付支持完成域名ICP备案的网站接入支付功能.PC网站接入支付后,可以通过JSAPI支付或Native支付,自行开发生成二维码,用户使用微信"扫一扫"来完成支 ...

  7. 西米支付:支付宝/微信支付/银联支付通道的接入介绍

    本文以电脑网站支付为例,着重对第三方支付通道的接入进行了分析,包括支付宝支付接入.微信支付接入及银联支付接入. 1.支付宝支付接入 支付宝支付能力主要有当面付.刷脸付.App支付.手机网站支付.电脑网 ...

  8. BeeCloud支付接入视频教程-黄君贤-专题视频课程

    BeeCloud支付接入视频教程-3981人已学习 课程介绍         通过BeeCloud提供的聚合支付SDK以及API,您可以完成WEB或者APP的支付功能开发,集成国内外主流支付通道. 课 ...

  9. 支付系统设计一:支付系统产品化

    系列文章目录 支付系统设计一:支付系统产品化 --------------------系统框架设计--------------------------- 支付系统设计二:统一开发框架 -------- ...

  10. 西米支付:数字藏品支付通道,数字藏品对接支付接口相关知识(供参考)

    自2021年年末开始,数字藏品在我国持续火爆,数藏交易平台的数量已经达到500多家,而且还在以惊人的速度快速增多,剧测算,2026年我国数字藏品市场规模将达300亿元,众多互联网公司纷纷入局. 而构建 ...

最新文章

  1. 4 个使用率非常高的 Linux 监控工具
  2. linux trap命令
  3. SAP Spartacus buildCmsStructure 构建逻辑
  4. 制作根文件系统时的错误解决
  5. mysql 字符转换函数是_MySQL日期和字符串转换函数
  6. python计算夏令时的具体日期,python time.time()和“夏令时”;
  7. python用什么来写模块-Python 3.1 用C写模块 扩展(序)
  8. html div右下浮动,div 初始化及左右浮动
  9. 第一至七次人口区县级普查-GIS人口数据集(最新)
  10. 弱水三千,只取一瓢,当图像搜索遇见PostgreSQL(Haar wavelet)
  11. Ubuntu下通过命令打开图片
  12. python RTL自动生成_实例16:用Python自动生成Excel档每日领料单
  13. pcb板中字母P代表什么
  14. java c des ecb_PHP、Java的Des加密(ECB mode)
  15. 当代年轻人到底怎么跨越阶层?
  16. java贪吃蛇(障碍物*咬尾巴)
  17. win10如何解决Excel双击打开显示灰色空白?
  18. PHP 将xml文件解析为数组
  19. c++数独小游戏3.3
  20. python爬取智联招聘职位信息(单进程)

热门文章

  1. PT100温度阻值对照表
  2. [财务]暂估业务处理流程
  3. 国防科技大学清华大学计算机科学,近10年“中国十大科技进展”,这4所985入选项目最多,北大不在列...
  4. 商品期货重点配对价差的月度效应
  5. 领先实践|全球最大红酒App如何用设计冲刺创新vivino模式
  6. mysql mac 客户端
  7. ZOJ-1649-Rescue
  8. 了解Linux实时内核
  9. AlphaZero炼成最强通用棋类AI,DeepMind强化学习算法8小时完爆人类棋类游戏
  10. 拖延症 你可把我害惨喽!