Android开发Android开发Android开发经验谈

QuickPay-快速接入微信/支付宝/银联三种支付方式,帮助项

2018-12-12  本文已影响26人  ban54

项目开发中接入支付功能往往费时费力,不同的支付功能实现方式不一样也导致代码结构不统一,这款QuickPay将微信/支付宝/银联三种支付方式进行了统一封装,方便项目中快速接入支付功能,接口统一也便于功能维护和修改。

项目地址:https://github.com/ban54/QuickPay
接入方式:

  1. 在项目根目录的build.gradle中添加
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
     }
}
  1. 在project的build.gralde中增加依赖
dependencies {
    implementation 'com.github.ban54:QuickPay:v0.0.4'
}
  1. 微信支付对接
<activity android:name=".wxapi.WXPayEntryActivity" android:exported="true" />
val payParameter = WXPayParameter()
payParameter.appId = "xxx"
payParameter.sign = "xxx"
payParameter.partnerId = "xxx"
payParameter.prepayId = "xxx"
payParameter.packageValue = "Sign=WXPay" // 固定值
payParameter.nonceStr = "xxx"
payParameter.timeStamp = "xxx"
PayHelper.pay(this, payParameter, mPayResultCallback)

mPayResultCallback的定义和使用请见“6. mPayResultCallback的定义和使用”

  1. 支付宝支付对接
    代码如下(AlipayParameter中的参数根据实际下单情况填充):
val payParameter = AlipayParameter("xxx")
PayHelper.pay(this, payParameter, mPayResultCallback)

mPayResultCallback的定义和使用请见“6. mPayResultCallback的定义和使用”

  1. 银联支付对接
    代码如下(UnionPayParameter中的参数根据实际下单情况填充):
val payParameter = UnionPayParameter()
payParameter.tn = "xxx"
PayHelper.pay(this, payParameter, mPayResultCallback)

mPayResultCallback的定义和使用请见“6. mPayResultCallback的定义和使用”

  1. mPayResultCallback的定义和使用
private val mPayResultCallback by lazy {
      object : PayResultCallback {
           override fun onSuccess(payParameter: PayParameter, payResult: PayResult) {
               // "支付成功"
           }

          override fun onFail(payParameter: PayParameter, payResult: PayResult) {
               // "支付失败: " + payResult.description
           }

          override fun onCancel(payParameter: PayParameter, payResult: PayResult) {
               // "支付取消"
           }

          override fun onWait(payParameter: PayParameter, payResult: PayResult) {
               // "支付等待"
           }
     }
}
  1. 其它
上一篇 下一篇

猜你喜欢

热点阅读