Android集成PayPal

一,什么是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 block
        e.printStackTrace();
    }
}

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

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

四,PayPal的充值和提现

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可以通过使用PayPal提供的API来集成PayPal支付功能。PayPal提供了包括支付、退款、授权等多种功能的API接口,可以让开发者方便地在自己的Java应用程序中使用PayPal支付服务。 首先,我们可以在Java应用程序中引入PayPal的Java SDK,这个SDK提供了许多在Java中使用PayPal API的方法和类。我们可以通过引入Maven依赖或者手动下载并导入SDK的jar包来使用这些功能。 接下来,我们需要在PayPal网站上创建一个开发者账号,并申请一个开发者密钥。这个开发者密钥将用于身份验证和API调用。我们可以将这个密钥保存在应用程序的配置文件中,以便在需要的时候进行调用。 然后,我们可以使用PayPal的API进行支付交易。我们可以发送HTTP请求到PayPal的支付接口,并包含必要的参数,如付款金额、货币类型、付款描述等。PayPal将返回一个支付链接或者一个PayPal按钮供用户点击,以完成支付过程。 在用户完成支付后,我们可以通过PayPal的API接收和处理支付结果。根据返回的支付结果,我们可以更新订单状态、发送确认邮件等操作。另外,如果需要退款或者授权操作,我们也可以使用相应的API进行处理。 在整个集成过程中,我们需要注意保护用户的隐私和敏感信息。我们可以使用PayPal提供的加密传输方式和安全性措施来保护用户的支付信息。同时,我们还可以根据自己的需求和业务逻辑,进行一些控制和限制,以提高支付安全性和交易成功率。 总之,通过Java集成PayPal,我们可以方便地实现支付功能,并提供给用户更多的支付选项。这样不仅可以提升用户体验,还可以扩大市场和增加收入。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值