Commit f698e9cf authored by 王雪伟's avatar 王雪伟

[提交人]:王雪伟

[提交简述] :加入googlePay工具类
[实现方案] :生成订单ID 调起Google支付
parent 581ac570
......@@ -144,6 +144,12 @@ public class NetConfig {
public static final String USER_PHONE_CODE_LOGIN = "app/v3/auth/phoneCodeLogin";//验证码登录
public static final String URL_VERSION = "app/v1/version";
public static final String URL_AUTH_GOOGLE_LOGIN = "app/v1/auth/googleLogin";//绑定谷歌登录
public static final String URL_PAY_BASE = "http://pay.linking100.com/";
///unifiedpay/gateway/google/替换包名/notify/order
public static final String URL_GOOGLE_NOTIFY = URL_PAY_BASE +"unifiedpay/gateway/google/com.zhangxin.magicbox/notify/order";
}
public static class Task {
......
......@@ -4,6 +4,7 @@ import android.util.Log
import android.view.View
import com.android.billingclient.api.*
import com.android.billingclient.api.BillingClient.SkuType
import com.ishin.google.bean.GooglePayResult
import com.zxhl.cms.AppContext
import com.zxhl.cms.R
import com.zxhl.cms.common.base.BaseActivity
......@@ -28,16 +29,35 @@ class GooglePayActivity : BaseActivity() {
}
var googlePay: GooglePayHelper? = null
override fun layoutID(): Int {
return R.layout.activity_google_pay
}
override fun init() {
id_btn_google_pay.setOnClickListener {
googlePay?.googlePay("0.1", object : GooglePayCallBack {
override fun onPaySuccess(purchase: GooglePayResult) {
showToast("success" + purchase.orderId)
}
override fun onCancel() {
showToast("onCancel")
}
override fun onError(error: String) {
showToast("onError$error")
}
})
}
// startConnection()
GooglePayHelper(this,"").init()
googlePay= GooglePayHelper(this)
googlePay?.init()
}
override fun onDestroy() {
super.onDestroy()
googlePay?.release()
}
//
//
......
package com.zxhl.cms.googlepay
import com.ishin.google.bean.GooglePayResult
/**
* @author (wangXuewei)
* @datetime 2022-03-14 16:49 GMT+8
* @detail :
*/
interface GooglePayCallBack {
fun onPaySuccess(purchase: GooglePayResult)
fun onCancel()
fun onError(error: String)
}
\ No newline at end of file
package com.ishin.google.bean
class GooglePayResult {
var packageName: String = ""
var orderId: String = ""
var productId: String = ""
var developerPayload: String = ""
var obfuscatedAccountid: String = ""
var purchaseTime: String = ""
var purchaseState: String = ""
var purchaseToken: String = ""
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ package com.zxhl.cms.net.api;
import com.zxhl.cms.ad.upload.model.Response;
import com.zxhl.cms.common.NetConfig;
import com.zxhl.cms.net.model.uc.AliPayEntity;
import com.zxhl.cms.net.model.uc.GooglePayEntity;
import com.zxhl.cms.net.model.uc.PayMinEntity;
import com.zxhl.cms.net.model.uc.PayVerifyEntity;
import com.zxhl.cms.net.model.uc.UserInfo;
......@@ -80,6 +81,27 @@ public interface IUserInfoApi {
@POST(NetConfig.User.URL_PAY_ORDER)
Observable<Response<AliPayEntity>> aliPay(@Query("goodsId") String goodsId, @Query("payType") String payType, @Query("voucherId") String voucherId, @Query("appId") String appId, @Query("payMode") String payMode);
/**
* Google支付
*
* @return
*/
@POST(NetConfig.User.URL_PAY_ORDER)
Observable<Response<GooglePayEntity>> googlePay(@Query("goodsId") String goodsId, @Query("payType") String payType, @Query("voucherId") String voucherId, @Query("appId") String appId, @Query("payMode") String payMode);
/**
* google支付成功后 通知后台更新会员状态
*/
@POST(NetConfig.User.URL_GOOGLE_NOTIFY)
Observable<Response<AliPayEntity>> googlePaySuccess(
@Query("packageName") String packageName,
@Query("orderId") String orderId,
@Query("productId") String productId,
@Query("developerPayload") String developerPayload,
@Query("obfuscatedAccountid") String obfuscatedAccountid,
@Query("purchaseTime") String purchaseTime,
@Query("purchaseState") String purchaseState,
@Query("purchaseToken") String purchaseToken);
/**
* 商城商品支付宝支付
......
package com.zxhl.cms.net.model.uc;
/**
* @author (wangXuewei)
* @datetime 2022-03-14 18:21 GMT+8
* @detail :
*/
public class GooglePayEntity {
/**
* payType : 4
* wakeup : {"orderNo":1503315110133714944}
* payPlatform : null
* outTradeNo : 1503315110133714944
*/
private int payType;
private WakeupBean wakeup;
private String outTradeNo;
public int getPayType() {
return payType;
}
public void setPayType(int payType) {
this.payType = payType;
}
public WakeupBean getWakeup() {
return wakeup;
}
public void setWakeup(WakeupBean wakeup) {
this.wakeup = wakeup;
}
public String getOutTradeNo() {
return outTradeNo;
}
public void setOutTradeNo(String outTradeNo) {
this.outTradeNo = outTradeNo;
}
public static class WakeupBean {
/**
* orderNo : 1503315110133714944
*/
private long orderNo;
public long getOrderNo() {
return orderNo;
}
public void setOrderNo(long orderNo) {
this.orderNo = orderNo;
}
}
}
......@@ -9,6 +9,7 @@
<Button
android:id="@+id/id_btn_google_pay"
android:text="GooglePay"
android:layout_marginTop="100dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment