android微信支付依赖包,Android 支付包 和 微信 支付-Go语言中文社区

你的打赏,是对我最大的支持:

支付宝:百度支付宝开发者平台

6d266d002fea5ed26ec9e009460a57dd.png

进入 我的开放平台:

e1f36436cd1d7515e99a72186c5c01e7.png

d0a95eb5848add3b27c7f40ba6fe477d.png

自行创建:

快速接入支付能力

62f687d7ae8831496fc8ad217f5284b1.png

b7856b52b87483b8fc5754b2adfbf31c.png

91099652cfa6c8e699bb289b70fa29b9.png

我们按照文档上来,首先是下载工具了,这里有win和mac两个地址,我是win,下载下来是这个样子的

b326880e41cf497d6773b7447fbaea89.png

我们按照图中的配置拿到了公钥和私钥

c1e1de640294957061b54bb494b4ff94.png

那我们可以配置了,我们找到项目详情

4c2fe95e6990396fcd3978cd57af5816.png

然后这里是两种方式,我们选择的是RSA方式么其实哪种方式都是可以的

992a83cdf51dcd12408ceab39d3e5f43.png

46b9c9a2a0d37d4714255d6b8d977921.png

最后提交,不知道等多久 ,再等待中。。。。

2898c5d5afdf44e945e36fcc4c90bda7.png

1.将支付宝SDK拷贝到项目libs文件夹下,如果没有libs文件夹,就新建一个。

97c6fe7c1ca13470f44b4ce6259225c5.png

2.如果sdk使用过程中,提示找不到文件。

进行如下操作,选中sdk文件,右击选择Reveal in Finder

7adc40352168cfedcdc44a20f3738d22.png

五:修改AndroidManifest.xml配置

1.在商户应用工程的AndroidManifest.xml文件里面添加声明:

和权限声明:

六:添加混淆规则

在商户应用工程的proguard-project.txt里添加以下相关规则:

-libraryjars libs/alipaySDK-20150602.jar

-keep class com.alipay.android.app.IAlixPay{*;}

-keep class com.alipay.android.app.IAlixPay$Stub{*;}

-keep class com.alipay.android.app.IRemoteServiceCallback{*;}

-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}

-keep class com.alipay.sdk.app.PayTask{ public *;}

-keep class com.alipay.sdk.app.AuthTask{ public *;}

第一行中的alipaySDK-20150602.jar,其中20150602是此版本发布的日期,注意将其修改为你导入的Jar的相应的文件名。

到这里,支付宝支付的前期配置已经完成,下面需要完成支付代码编写。

支付接口调用

在点击支付按钮的点击事件中,我提供的是从后端获取订单字符串,然后调用支付宝接口,调起支付。

需要在新线程中调用支付接口。代码如下:// 支付按钮

public void onClick(View view) {

//起一个线程

Runnable payRunnable = new Runnable() {

@Override

public void run() {

String data = null;

PayBean payBean = new PayBean();

payBean.setOrderTime("");

String json = new Gson().toJson(payBean);

//json为获取后端结果时需要提供给后端订单信息,例如:时间、金额、订单属性等

Log.i("charge request", json);

try {

//data为后端返回数据,其中包括订单字符串

data = postJson(CHARGE_URL, json);

} catch (IOException e) {

e.printStackTrace();

}

// Json解析data

ChargeBean charge = new Gson().fromJson(data, ChargeBean.class);

//获取调起支付所需要的字符串credential

String credential = (String) charge.getResult().getCredential();

// 调起支付界面

PayTask alipay = new PayTask(ThirdActivity.this);

Map result = alipay.payV2(credential, true);

//在mHandler中处理支付宝返回结果

Message msg = new Message();

msg.what = SDK_PAY_FLAG;

msg.obj = result;

mHandler.sendMessage(msg);

}

};

// 必须异步调用

Thread payThread = new Thread(payRunnable);

payThread.start();

}

在mHandler中处理支付结果private Handler mHandler = new Handler() {

public void handleMessage(Message msg) {

if (msg.what == SDK_PAY_FLAG) {

Toast.makeText(ThirdActivity.this, (String) msg.obj,

Toast.LENGTH_LONG).show();

PayResult payResult = new PayResult((Map) msg.obj);

/**

对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。

*/

String resultInfo = payResult.getResult();// 同步返回需要验证的信息

String resultStatus = payResult.getResultStatus();

// 判断resultStatus 为“9000”则代表支付成功,具体状态码代表含义可参考接口文档

if (resultStatus.equals("9000")) {

Toast.makeText(ThirdActivity.this, "支付成功", Toast.LENGTH_SHORT).show();

}else if (resultStatus.equals("4000")){

// 4000为支付失败,包括用户主动取消支付,或者系统返回的错误

Toast.makeText(ThirdActivity.this, "支付失败", Toast.LENGTH_SHORT).show();

}else if (resultStatus.equals("6001")){

// 6001为取消支付,或者系统返回的错误

Toast.makeText(ThirdActivity.this, "取消支付", Toast.LENGTH_SHORT).show();

}else if (resultStatus.equals("8000")) {

// "8000"代表支付结果因为支付渠道原因或者系统原因还在等待支付结果确认,最终交易是否成功以服务端异步通知为准(小概率状态)

Toast.makeText(ThirdActivity.this, "支付结果确认中", Toast.LENGTH_SHORT).show();

}else {

// 其他为系统返回的错误

Toast.makeText(ThirdActivity.this, "支付错误", Toast.LENGTH_SHORT).show();

}

}

}

};

微信支付:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值