微信转账和支付宝转账支付和微信支付有什么区别

支付宝支付和微信支付 - 简书
支付宝支付和微信支付
支付模块其实很早就做完了的,只是当初说需要银联支付,打算一起做完再写的,结果现在说银联支付不做了,好咯现在也没谁用银联支付这个坑爹的东西了·····另外还有就是懒癌发作了所以拖到现在,不说废话了。(写完再说)
说明下,本文讲的是在后台生成支付密钥的情况下使用,实际上一般也不允许你自己生成的。
官方文档地址,其实官方文档讲的挺清楚了,我记录下简化版而已
首先添加依赖·······(废话来的)compile files('libs/alipaySdk-.jar')
然后就可以用了······因为我没有加入网页支付,也就是说手机上必须装有支付宝才能使用,这是最最简单的方法
//支付宝回调
private final int SDK_PAY_FLAG = 1;
* call alipay sdk pay. 调用SDK支付
public void alipay(final String payInfo) {
//这里的payInfo是后台返回的,前端不用关心,用就是了,错了是后台的问题
Runnable payRunnable = new Runnable() {
public void run() {
PayTask alipay = new PayTask(PayPhotoActivity.this);
Map&String, String& result = alipay.payV2(payInfo, true);
Message msg = new Message();
msg.what = SDK_PAY_FLAG;
mHandler.sendMessage(msg);
Thread payThread = new Thread(payRunnable);
payThread.start();
上面是使用的,接着是回调
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
@SuppressWarnings("unused")
public void handleMessage(Message msg) {
switch (msg.what) {
case SDK_PAY_FLAG: {
@SuppressWarnings("unchecked")
PayResult payResult = new PayResult((Map&String, String&) msg.obj);
对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。
String resultInfo = payResult.getResult();// 同步返回需要验证的信息
String resultStatus = payResult.getResultStatus();
// 判断resultStatus 为9000则代表支付成功
if (TextUtils.equals(resultStatus, "9000")) {
// 该笔订单是否真实支付成功,需要依赖服务端的异步通知。
//这里是支付成功,做后续操作
// 该笔订单真实的支付结果,需要依赖服务端的异步通知。
showToast("支付失败");
好了支付宝的支付就是这么简单,简单到没人性······(曾经我以为不容易来着)
接下来是微信支付,这个略坑
导包,吐槽下这个名字······
compile files('libs/libammsdk.jar')
然后建在工程里新建一个类,外面的包名给类名要一毛一样
这样的]UU.png
这个类里面是这样子的
public class WXPayEntryActivity extends BaseActivity implements IWXAPIEventHandler {
private static final String TAG = "MicroMsg.SDKSample.WXPayEntryActivity";
private IWXAPI
private PayLongActivity payLongA
// APP_ID 替换为你的应用从官方网站申请到的合法appId
public static final String APP_ID = "11";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pay_result);
api = WXAPIFactory.createWXAPI(this, APP_ID);
api.handleIntent(getIntent(), this);
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
api.handleIntent(intent, this);
public void onReq(BaseReq req) {
public void onResp(BaseResp resp) {
if (resp.getType() == MAND_PAY_BY_WX) {
if (resp.errCode==1) {
sendBroadcast(new Intent(ConstantsConfig.ReceiverConfig.WX_PAY_SUCCESS));//成功广播
else sendBroadcast(new Intent(ConstantsConfig.ReceiverConfig.WX_PAY_FAIL));//失败广播
没什么用的我都删了,当然是对我来说没什么用这里吐槽下微信支付回调要另外弹出这个Activity,来告诉你成功还是失败,简直影响体验······所以我修改成用广播通知,这个界面直接finish掉。其实按照我的习惯用RxBus最好最方便了,之前有写过的,这个项目不允许就算了,后续回调你们自己看着来吧。
好,我们继续,这里是回调,接下来讲使用:
同样支付的数据都要从后台拿,微信的数据也是还要自己解析···我直接把json传进来了,反正你只要把req里面的这几个参数赋值对了就行,怎么传过来都好
private void wxpay(JSONObject json) throws JSONException {
IWXAPI wxapi = WXAPIFactory.createWXAPI(this, null);
//这个跟回调那里一样要拿到后台申请的那个ID
wxapi.registerApp("");
if (null != json && !json.has("retcode")) {
PayReq req = new PayReq();
//req.appId = "wxf8b4f85f3a794e77";
// 测试用appId
req.appId = json.getString("appId");
req.partnerId = json.getString("partnerId");
req.prepayId = json.getString("prepayId");
req.nonceStr = json.getString("nonceStr");
req.timeStamp = json.getString("timeStamp");
req.packageValue = json.getString("packageValue");
req.sign = json.getString("sign");
req.extData = "app data"; // optional
Toast.makeText(PayPhotoActivity.this, "正常调起支付", Toast.LENGTH_SHORT).show();
// 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信
wxapi.sendReq(req);
Toast.makeText(PayPhotoActivity.this, "返回错误"+json.getString("retmsg"), Toast.LENGTH_SHORT).show();
好,微信代码里面的就到这里,这还不算坑,还过的去
问题出在要配置后台····
就是这个坑爹的东西
包名好说,复制粘贴就好
说的是应用签名
AS里面获取MD5的方法
拿到后应该是这样的
81:6F:96:F7:2F:AE:7D:04:D4:73:F9:C5:EB:1C:4C:83
我们要吧冒号全部去掉,然后字母全部变成小写去掉冒号一个txt自行解决816F96F72FAE7D04D473F9C5EB1C4C83然后我是用AS的快捷键
ctrl+shift+U
搞定的,你们有好的方法也行·······816f96f72fae7d04d473f9c5eb1c4c83好了这个就是填上去的应用签名了
注意这只是编译版本的
打包后你要重新配置,签名就是拿签名文件keystore里面的,获取方法嘛cmd里面用这个代码
为文件路径keytool -v -list -keystore
这坑爹的东西没有配置对的话,第一次调用微信支付是可以的,然后第二次就不行了,那时死命找原因才发现是这个地方的问题,话说这个也要我们弄也是坑······
好了支付宝支付和微信支付的就这么点东西,其实并不难······
接着,我想重新找家公司了,有人愿意要我或者帮忙内推下的么,有愿意帮忙的私信下我呗,万分感谢~
最后来句迟来的
祝大家新年大吉吧
一只初生的程序猿当前位置:
时间: 11:3:2
发布: | 分类:站长新闻 | 评论:0 | 浏览:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
【相关文章】 9:47:55 8:44:37 10:1:59 10:18:15 11:28:28 11:7:3 5:39:6 16:7:54 15:48:3 9:47:56
本月最热文章

我要回帖

更多关于 微信和支付宝哪个方便 的文章

 

随机推荐