支付宝 微信支付

微信支付
1.首先要在微信开放平台上申请支付功能 获取到appid
2. 在自己的项目上添加 微信支付的jar 添加 wxapi文件夹 添加 WXPayEntryActivity 文件(从官方demo 里面 复制就可以)
AndroidManifest .xml文件里修改 和 添加权限




3. WXPayEntryActivity .java 主要是支付成功的回调


//支付
package com.hongrenguan.yl;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.tencent.mm.sdk.modelpay.PayReq;
import com.tencent.mm.sdk.openapi.IWXAPI;
import com.tencent.mm.sdk.openapi.WXAPIFactory;
import com.zhy.http.okhttp.OkHttpUtils;
import com.zhy.http.okhttp.callback.StringCallback;

import okhttp3.Call;

public class MainActivity extends AppCompatActivity {
public IWXAPI wxapi;
public PayReq req;
private String wxUrl="微信支付接口";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wxapi= WXAPIFactory.createWXAPI(this, Constants.APP_ID);
wxapi.registerApp(Constants.APP_ID);
req= new PayReq();

}

/**
* 微信支付
* @param view
*/
public void wxToPay(View view) {

OkHttpUtils.post().url(wxUrl)
.addParams("userid","")
.addParams("roomcar","").build()
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {

System.out.println("-----+失败"+e.toString());
}
@Override
public void onResponse(String s) {
System.out.println("------string"+s);
JSONObject object = JSON.parseObject(s);
String msg = object.getString("msg");
JSONObject payData = JSON.parseObject(msg);
toPay(payData);
}
});
}

/**
* 向微信发起支付
*/
public void toPay(JSONObject jsonObject){
req.appId = jsonObject.getString("appid");
req.partnerId = jsonObject.getString("partnerid");
req.prepayId = jsonObject.getString("prepayid");
req.nonceStr = jsonObject.getString("noncestr");
req.timeStamp = jsonObject.getString("timestamp");
req.packageValue = jsonObject.getString("package");
req.sign = jsonObject.getString("sign");
req.extData = "app data";
//发送支付请求
wxapi.sendReq(req);
}
}
-------------------------------------------------------------------------------------------------------------------
支付宝支付
1. 导入 支付宝 jar 修改 AndroidManifest.xml 文件 添加权限
<activity
     android:name= "com.alipay.sdk.app.H5PayActivity"
     android:configChanges= "orientation|keyboardHidden|navigation|screenSize"
     android:exported= "false"
     android:screenOrientation= "behind"
     android:windowSoftInputMode= "adjustResize|stateHidden" >
</activity>
  <activity
     android:name= "com.alipay.sdk.app.H5AuthActivity"
     android:configChanges= "orientation|keyboardHidden|navigation"
     android:exported= "false"
     android:screenOrientation= "behind"
     android:windowSoftInputMode= "adjustResize|stateHidden" >
</activity>

//支付回调界面
package com.hongrenguan.yl;

import android.text.TextUtils;

import java.util.Map;

public class PayResult {
private String resultStatus;
private String result;
private String memo;

public PayResult(Map<String, String> rawResult) {
if (rawResult == null) {
return;
}

for (String key : rawResult.keySet()) {
if (TextUtils.equals(key, "resultStatus")) {
resultStatus = rawResult.get(key);
} else if (TextUtils.equals(key, "result")) {
result = rawResult.get(key);
} else if (TextUtils.equals(key, "memo")) {
memo = rawResult.get(key);
}
}
}

@Override
public String toString() {
return "resultStatus={" + resultStatus + "};memo={" + memo
+ "};result={" + result + "}";
}

/**
* @return the resultStatus
*/
public String getResultStatus() {
return resultStatus;
}

/**
* @return the memo
*/
public String getMemo() {
return memo;
}

/**
* @return the result
*/
public String getResult() {
return result;
}
}

------------
/**
* 调用 阿里支付
*
*/
public void aliPay(String aliurl,String name,String nameValue,String money,String moneyValue){

OkHttpUtils.post().url(aliurl)
.addParams(name,nameValue)
.addParams(money,moneyValue)
.build().execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
Toast.makeText(MainActivity.this,"网络异常请稍后重试",Toast.LENGTH_LONG).show();
}

@Override
public void onResponse(String s) {
orderInfo=s;
Runnable payRunnable = new Runnable() {
@Override
public void run() {
PayTask aliPay = new PayTask(MainActivity.this);
Map<String, String> result = aliPay.payV2(orderInfo, true);
System.out.println("------" + result.toString());
Message msg = new Message();
msg.what = SDK_PAY_FLAG;
msg.obj = result;
mHandler.sendMessage(msg);
}
};
// 必须异步调用
Thread payThread = new Thread(payRunnable);
payThread.start();
}
});


}

//-----------------------------------------------
支付回调 方法



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值