程序中的支付流程中:

1.浏览商品

2.把要买的商品加入购物车

3.把购物车中的商品信息和用户信息和支付方式等信息发送到自己服务器,服务器处理商品信息生成订单,并返回”支付串”给客户端

4.客户端拿着“支付串”,调用第三方服务(支付宝、微信、银联、paypal等)完成支付

5.处理支付结果(成功、失败、取消)

l  同步返回:支付后通知我们的客户端

l  异步通知:支付后通知我们的服务端

以上就是一般的移动支付的基本流程了,下面看这几个支付平台的详细介绍

android移动支付——支付宝支付

android移动支付——微信支付

android移动支付——银联支付

android移动支付——PayPal支付

PayPal支付

上面的支付方式都是中国境内常用的支付方式,那如果想用境外的支付呢,无疑Paypal是一个不错的选择,下面来接入它:

1.       注册PayPal开发者账号,并且添加你的APP

首先我们要去PayPal的开发者平台注册账号,并且创建应用,获取Client ID

2.       可以在PayPal的github上看到它一些详细的介绍

可以拿到依赖
,配置一下你的工程:

compile(‘com.paypal.sdk:paypal-android-sdk:2.15.1’)

{ excludegroup: ‘io.card’ }//禁止通过信用卡直接支付,如果不禁止可以直接去掉这一句

3.       集成的最低版本

由于PayPal默认集成的最低版本是minSdkVersion 16或者更高,所以你的AS编译版本低于这个版本的时候,AS会提示你编译不通过,报错等等,这是你需要在清单文件AndroidMainfest强制一下你需要的版本下编译:

<uses-sdkandroid:minSdkVersion=“INSERT_YOUR_DESIRED_minSdkVersion_HERE” tools:overrideLibrary=“com.paypal.android.sdk.payments”/>

4.       在你需要支付的页面配置支付环境(或者在你的基类里面配置)

这里可以到官网上申请商户和个人的沙盒测试账号进行测试

// 配置各种支付类型,一般就沙盒测试的和正式的

privatestatic final String CONFIG_ENVIRONMENT = PayPalConfiguration.ENVIRONMENT_NO_NETWORK;

// note that these credentialswill differ between live & sandbox environments.

// 这是在第一步时候注册创建得来的Client ID

private static final String CONFIG_CLIENT_ID = “credentials from developer.paypal.com”;

private static final int REQUEST_CODE_PAYMENT = 1;

private static final int REQUEST_CODE_FUTURE_PAYMENT = 2;

private static final int REQUEST_CODE_PROFILE_SHARING = 3;

private static PayPalConfigurationconfig = new PayPalConfiguration()

.environment(CONFIG_ENVIRONMENT)

.clientId(CONFIG_CLIENT_ID)

// The following are only used inPayPalFuturePaymentActivity.

// 下面的这些都是要用到授权支付才用到的,不用就注释掉可以了

.merchantName(“Example Merchant”)

.merchantPrivacyPolicyUri(Uri.parse(“https://www.example.com/privacy”))

.merchantUserAgreementUri(Uri.parse(“https://www.example.com/legal”));

5.       在类的onCreate里面调起支付服务

Intentintent = new Intent(this, PayPalService.class);

intent.putExtra(PayPalService.EXTRA_PAYPAL_CONFIGURATION, config);

startService(intent);

6.       在需要支付的地方调起支付功能,这里有两种类型

publicvoid onBuyPressed(View pressed) {

/*

* PAYMENT_INTENT_SALE will cause thepayment to complete immediately.

* Change PAYMENT_INTENT_SALE to

*  - PAYMENT_INTENT_AUTHORIZE to only authorize payment and capture fundslater.

*  - PAYMENT_INTENT_ORDER to create a payment for authorization and capture

*    later via calls from your server.

*

* Also, to include additionalpayment details and an item list, see getStuffToBuy() below.

*/

PayPalPayment thingToBuy =getStuffToBuy(PayPalPayment.PAYMENT_INTENT_SALE);

/*

* See getStuffToBuy(…) for examplesof some available payment options.

*/

Intent intent = new Intent(SampleActivity.this, PaymentActivity.class);

// send the same configuration for restartresiliency

intent.putExtra(PayPalService.EXTRA_PAYPAL_CONFIGURATION, config);

intent.putExtra(PaymentActivity.EXTRA_PAYMENT, thingToBuy);

startActivityForResult(intent, REQUEST_CODE_PAYMENT);

}

private PayPalPayment getThingToBuy(String paymentIntent) {

return new PayPalPayment(new BigDecimal(“0.01”), “USD”, “sample item”,

paymentIntent);

}

/*

* This method shows use of optionalpayment details and item list.

*/

private PayPalPayment getStuffToBuy(String paymentIntent) {

//— include an item list, payment amountdetails

PayPalItem[] items =

{

new PayPalItem(“sample item #1”, 2, new BigDecimal(“87.50”), “USD”,

“sku-12345678”),

new PayPalItem(“free sample item #2”, 1, new BigDecimal(“0.00”),

“USD”, “sku-zero-price”),

new PayPalItem(“sample item #3 with a longername”, 6, new BigDecimal(“37.99”),

“USD”, “sku-33333”)

};

BigDecimal subtotal = PayPalItem.getItemTotal(items);

BigDecimal shipping = new BigDecimal(“7.21”);

BigDecimal tax = new BigDecimal(“4.67”);

PayPalPaymentDetails paymentDetails = new PayPalPaymentDetails(shipping, subtotal, tax);

BigDecimal amount =subtotal.add(shipping).add(tax);

PayPalPayment payment= new PayPalPayment(amount, “USD”, “sample item”, paymentIntent);

payment.items(items).paymentDetails(paymentDetails);

ew PayPalPaymentDetails(shipping, subtotal, tax);

BigDecimal amount =subtotal.add(shipping).add(tax);

PayPalPayment payment= new PayPalPayment(amount, “USD”, “sample item”, paymentIntent);

payment.items(items).paymentDetails(paymentDetails);

android移动支付——PayPal支付,2021我的Android路要怎么走相关推荐

  1. android移动支付——PayPal支付

    前言 这里开篇讲解一系列的Android相关的移动支付.移动支付也称为手机支付,用户使用移动的设备,完成对所购买商品或者服务的支付功能.包括远程支付(网上支付.短信支付),近场支付(刷卡.滴卡.pos ...

  2. WoShop跨境电商国际支付Paypal支付商城全开源无加密商城源码

    WoShop跨境电商国际支付Paypal支付商城全开源无加密商城源码 现在的企业都喜欢直接用源码进行开发,特别是在跨境电商版块这一行,很多企业都是直接购买跨境电商系统源码再进行一个二次开发,从而给自己 ...

  3. Android下集成Paypal支付

    近期项目需要研究paypal支付,官网上的指导写的过于复杂,可能是老外的思维和中国人不一样吧.难得是发现下面这篇文章: http://www.androidhive.info/2015/02/andr ...

  4. 详细教程: android项目集成PayPal 支付

    2017年7月5日  更新了, 总体该说的都说了, 后面再看看还有啥细节补充吧. 项目是跨境电商,国外的支付需要集成paypal支付,在网上搜了好久,教程都是断断续续,对开发者来说不太友好! 好在现在 ...

  5. android开发培训ppt!2021年最新Android面试点梳理,薪资翻倍

    起因 事情是这样的. 4年前毕业那会,呆在公司的短视频项目,做 视频.那会做得比抖音还早,但是由于短视频太烧钱了,项目被公司关掉了.当时需要开发横竖屏直播/异步视频的场景,就研究下了市场上的 app, ...

  6. paypal android sdk,PayPal Android SDK 2.0 支付

    这几天网站改版,吧以前用服务器控件通过后台代码绑定显示数据的模式改成了用JQUERY通过AJAX绑定JQGRID来显示数据,不得不说JQUERY UI确实挺漂亮的,不过UI控件 1.用户使用PayPa ...

  7. Android paypal支付 集成 Manifest merger failed with multiple errors, see logs

    paypal 第一次接触,听说很强大,在这里我门先不深究它的来历,上代码 首先你要下在个SDK,呵呵..... 1官网链接:https://developer.paypal.com/docs/clas ...

  8. PayPal Android SDK 2.0 支付

    PayPal SDK 2.0支持两种支付方式:立即支付和后支付,下面介绍的是立即支付方式. 立即支付 1.用户使用PayPal账户或信用卡支付,支付完成接收返回一个支付ID. 2.在你的服务器端,使用 ...

  9. android移动支付——微信支付

    前言 这里开篇讲解一系列的Android相关的移动支付.移动支付也称为手机支付,用户使用移动的设备,完成对所购买商品或者服务的支付功能.包括远程支付(网上支付.短信支付),近场支付(刷卡.滴卡.pos ...

最新文章

  1. python程序员的工作内容_每个Python程序员都要知道的日志实践
  2. LeetCode 中等难度 92. 反转链表 II解题思路
  3. VMware vCenter Converter:将物理机转换为虚拟机
  4. SPOJ - LCS Longest Common Substring(后缀自动机)
  5. 避免延迟的JPA集合
  6. C/C++静态库编译报错(/usr/bin/ld:cannot find -lpthread,/usr/bin/ld:cannot find -lc)
  7. redis专题:redis的持久化方式有哪些?redis数据的备份和恢复策略
  8. 在登陆AD的机器上测试模拟经过验证的用户
  9. leetcode python3 简单题205. Isomorphic Strings
  10. UVA10673 Play with Floor and Ceil【暴力枚举】
  11. [转载] set集合python_python基础-set集合
  12. linux密码忘记重新设置密码
  13. 机器视觉硬件之工业相机(一)
  14. 让iphone死机的短信内容
  15. Linux的DNS域名解析服务
  16. Windows如何安装Clouda
  17. Failed to execute vcredist_x64.exe
  18. SAN存储和服务器虚拟化安装方案,ESX/ESXi虚拟化系统与SAN存储结构结合的配置安装流程...
  19. 简单概括HAPI(Houdini Engine API)所涵盖的功能
  20. 老师要掌握的计算机方面的知识,21世纪的教师应该掌握哪些基本的电脑知识

热门文章

  1. 基于LSB的空域信息隐藏实现
  2. JS作用域与作用域链附测试题
  3. Movavi Screen Recorder——录制外界声音的方法
  4. dos重启计算机命令行,命令行中,重启计算机的命令是什么
  5. 怎样利用思维导图快速记忆
  6. 论文怎样发表期刊?有什么要求?
  7. 手绘板的制作——画布缩放(4)
  8. C语言企业发放奖金根据利润提成问题解答
  9. android 8 多媒体,1-4月中控多媒体搭载率接近8成,安卓+大屏正成为主流
  10. 鸿蒙系统汽车中控,华为将推出车载智慧屏,搭载鸿蒙系统,支持 HiCar 系统