一,什么是PayPal?

PayPal是eBay旗下的一家公司,致力于让个人或企业通过电子邮件,安全、简单、便捷地实现在线付款和收款。PayPal账户是PayPal公司推出的最安全的网络电子账户,使用它可有效降低网络欺诈的发生。PayPal账户所集成的高级管理功能,使您能轻松掌控每一笔交易详情。目前,在跨国交易中超过90%的卖家和超过85%的买家认可并正在使用PayPal电子支付业务。

PayPal的优势:全球用户广、品牌效应强、资金周转快、安全保障高、使用成本低。

使用PayPal有什么好处?

1.轻松拓展海外市场,获得更多用户支持。

2.降低相关成本,提高利润率,加速资金周转。

3.利用品牌效应,提高买家忠诚度,彻底消除购物障碍 。

二,怎么把PayPal集成到Android端APP上?

1,使用公司给你的开发帐号登录paypal的开发者网站https://developer.paypal.com。

2,在https://developer.paypal.com/developer/applications/页面中点击“Create APP”按钮,在弹出的界面填写app name(需要集成到你自己的APP的name)就好了,就会生产Sandbox(测试环境)以及Live(正式环境)对应下的Client ID和Secret。

3,在https://developer.paypal.com/developer/accounts/页面中点击“Create Account”按钮创建一个沙盒测试账号。在弹出的创建页面可以随便填,只要你记住帐号密码就成。忘了就修改,不然就删掉重建。

4,准备工作已经完成,开始代码环节。

(1)下载SDK加入到项目中,或者直接添加依赖。

(2)在AndroidManifest.xml中申明用到SDK中的Activity、service及相关权限。

(3)由于PayPal sdk 现在已经升级到了默认最低是minSDKVersion 16 ,所以你得可以把你的minSDKVersion改到16或者更大。

(4)在你需要调起支付的页面配置支付环境(或者在基类配置相应的支付环境)。

(5)在类的onCreate方法里面调起支付服务。

(6)创建支付实体,在需要调起支付的地方调起支付。

(7)在类的onActivityResult 里进行回调结果的处理。

(8)在类的onDestroy 注销服务。

三,集成PayPal的实例操作和代码

1,使用公司给我的开发账号登录paypal的开发者网站https://developer.paypal.com。

2,创建应用程序。


点击上图中的创建按钮以后,就会弹出如下图所示的界面,需要填写APP Name。

点击上图中的创建按钮以后,就会弹出如下图所示的界面,就会产生Sandbox(测试环境)以及Live(正式环境)下对应的Client ID和Secret。

3,创建支付测试账号。

点击上图中的创建账号按钮以后,就会弹出如下图所示的界面,主要是记住填写的账号和密码,其他信息可以随便填写。

创建以后就可以在下面看到注册的账号。

4,创建Name为SmartHome的项目。

(1),在app/build.gradle里面添加依赖。

compile 'com.paypal.sdk:paypal-android-sdk:2.15.3'

(2),在AndroidManifest.xml中申明用到SDK中的Activity、service及相关权限。

<!-- for card.io card scanning -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<!-- for most things, including card.io & paypal -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/><service android:name="com.paypal.android.sdk.payments.PayPalService" android:exported="false" />
<activity android:name="com.paypal.android.sdk.payments.PaymentActivity" />
<activity android:name="com.paypal.android.sdk.payments.LoginActivity" />
<activity android:name="com.paypal.android.sdk.payments.PaymentMethodActivity" />
<activity android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity" />
<activity android:name="io.card.payment.CardIOActivity" android:configChanges="keyboardHidden|orientation" />
<activity android:name="io.card.payment.DataEntryActivity" />

(3),并确保minSDKVersion为16或者更大。否则AS会报错误。

Error:Execution failed for task ':app:processDebugManifest'.

(4),在你需要调起支付的页面配置支付环境(或者在基类配置相应的支付环境)。

//配置何种支付环境,一般沙盒,正式
private static final String CONFIG_ENVIRONMENT = PayPalConfiguration.ENVIRONMENT_SANDBOX;
private static final String DEFAULT_CURRENCY = "USD";
//你所注册的APP Id
private static final String CONFIG_CLIENT_ID = "你所注册的CLient Id";
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 PayPalConfiguration paypalConfig = new PayPalConfiguration().environment(CONFIG_ENVIRONMENT)
.clientId(CONFIG_CLIENT_ID);
//以下配置是授权支付的时候用到的
//.merchantName("Example Merchant")
// .merchantPrivacyPolicyUri(Uri.parse("https://www.example.com/privacy"))
//.merchantUserAgreementUri(Uri.parse("https://www.example.com/legal"));

(5),在类的onCreate方法里面调起支付服务。

Intent intent = new Intent(this, PayPalService.class);
intent.putExtra(PayPalService.EXTRA_PAYPAL_CONFIGURATION, paypalConfig);
startService(intent);

(6),创建支付实体,在需要调起支付的地方调起支付。

button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {PayPalPayment payment = new PayPalPayment(new BigDecimal("1.75"), "USD", "hipster jeans",PayPalPayment.PAYMENT_INTENT_SALE);Intent intent = new Intent(MainActivity.this, PaymentActivity.class);intent.putExtra(PaymentActivity.EXTRA_PAYMENT, payment);startActivityForResult(intent, REQUEST_CODE_PAYMENT);}});

(7),在类的onActivityResult 里进行回调结果的处理。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (data == null) {return;}PaymentConfirmation confirm = data.getParcelableExtra(PaymentActivity.EXTRA_RESULT_CONFIRMATION);String paymentId;try {paymentId = confirm.toJSONObject().getJSONObject("response").getString("id");String payment_client = confirm.getPayment().toJSONObject().toString();Log.e(TAG, "paymentId: " + paymentId + ", payment_json: "+ payment_client);// TODO :把paymentId和payment_json传递给自己的服务器以确认你的款项是否收到或者收全// TODO :得到服务器返回的结果,你就可以跳转成功页面或者做相应的处理了} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}
}

(8),在类的onDestroy 注销服务。

@Override
public void onDestroy() {stopService(new Intent(this, PayPalService.class));super.onDestroy();
}

四,PayPal的充值和提现

附上PayPal充值和提现的教程。http://waihuizhan.com/paypal-funds-and-withdrawals/

Android集成PayPal相关推荐

  1. Android集成Paypal支付Braintree

    最新发现Paypal的官方SDK已经不再维护了,所以需要把项目的支付做一下升级. 文档链接:点击这里 根据文档来看Paypal支付的集成相比以前简单了许多,下面我们讲一下集成步骤: 1:在 build ...

  2. Android下集成Paypal支付

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

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

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

  4. 使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  5. 使用Android Studio搭建Android集成开发环境

    一.Android Studio简单介绍 2013年GoogleI/O大会首次发布了Android Studio IDE(Android平台集成开发环境).它基于Intellij IDEA开发环境,旨 ...

  6. 网站集成PayPal如何设置

    网站集成PayPal如何设置 登录 PAYPAL 网站 0. 注册 1. 登录. 2. 点击 Profile. 3. 点击 Add or Edit Email. 4. 记下 primary 邮件地址, ...

  7. 使用Android Studio搭建Android集成开发环境(图文教程)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  8. PHP中集成PayPal标准支付

    前两天一个客户需要在网站上集成PayPal支付功能,查了一下资料,简单记录如下: PayPal支付功能其实一直在更新文档和接口,这里说的是一个简单的支付功能大概流程如下 1,在网站的结账页面,设置一个 ...

  9. Android集成三方浏览器之Crosswalk

    上一篇讲解了腾讯 X5 内核的集成,这一篇是讲解 Crosswalk 的集成 Crosswalk 也是采用了Chromenium 内核,是一款开源的 web 引擎,开发者可以直接把 Crosswalk ...

最新文章

  1. uart接口_UART串行总线舵机转接板规格、接线说明 amp; 驱动安装
  2. 3.QT中的debug相关的函数,以及文件锁的使用
  3. 虚拟机当作设置服务器,虚拟机当作设置服务器
  4. GitHub 6600星,面向中国人:微软AI教育与学习共建社区2.0登场!
  5. 喜茶部分产品降价,企查查显示其最新估值达600亿元
  6. java socket 简书_Java之Socket编程入门篇
  7. 【机器学习系列】GMM第一讲:两个角度认识高斯混合模型
  8. 计算机怎么把硬盘分成几个,怎么把硬盘分成整数分区_硬盘分区整数对照表
  9. python实现SG滤波
  10. Win10使用说明 - 任务栏设置、触摸板手势和使用偏好
  11. win10系统在文件夹中图片不显示内容问题
  12. 小米蓝牙广播数据解析(MiBeacon)
  13. 深度学习、机器学习领域毕业设计选题方法及建议
  14. IT运维外包甩不掉的包袱
  15. HTML5 data-* 自定义属性及其注意点
  16. 整理各种模板(准备随时弃坑)
  17. 假设有一个字类型的数值arry1,试编写程序统计arry1数值及其后若干数值,在字单元中存储时每个数据中含“1”数据位的个数,并将统计结果保存在res1数组中。数据段的代码定义如下: data seg
  18. 管理类联考-英语: 前导( 一 )
  19. 为什么 ERP 系统的用户体验不好?
  20. VC++获取不同Windows版本的方法

热门文章

  1. 长沙医学院英语四级计算机,长沙医学院2018年6月英语四六级考试报名工作的通知...
  2. 数据从业者的一次“典型”面试
  3. 使用安卓实现一个二维码扫描功能(基于Android Studio)
  4. iOS app在AppStore的下载地址
  5. 【实验】:OSPF基本配置(OSPF路由协议、影响DR/BDR选举、配置接口开销值、被动接口、认证功能)
  6. CUDA atomic原子操作
  7. 《工厂订单出入库信息管理系统》模块1 -- 订单管理
  8. 音视频最新技术有哪些
  9. CSS实现图片高斯模糊效果
  10. 百万年薪的人才泡沫与人工智能的虚假繁荣