微信/支付宝支付

微信支付:https://www.jianshu.com/p/84eac713f007
支付宝:https://docs.open.alipay.com/204/105296/

public class WXPayEntryActivity extends AppCompatActivity implements IWXAPIEventHandler {
private IWXAPI api;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_wxpay_entry);
    ButterKnife.bind(this);
    api = WXAPIFactory.createWXAPI(this, "wxb3852e6a6b7d9516");
    api.handleIntent(getIntent(), this);
}

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    setIntent(intent);
    api.handleIntent(intent, this);
}

@Override
public void onReq(BaseReq baseReq) {
    Toast.makeText(getApplicationContext(), "成功", Toast.LENGTH_LONG).show();
}

@Override
/*//支付结果*/
public void onResp(BaseResp resp) {
    if (TextUtils.isEmpty(resp.openId)) {
        Log.i("xml", "啥也没有");
    }

    if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
        //  AlertDialog.Builder builder = new AlertDialog.Builder(this);
        //builder.setTitle("微信支付提示");
        switch (resp.errCode) {
            case 0://支付成功
                Toast.makeText(getApplicationContext(), "支付成功", Toast.LENGTH_SHORT).show();//builder.setMessage("支付成功.");
                break;

            case -1://支付失败,一般是后端签名失败等问题
                Toast.makeText(getApplicationContext(), "支付失败", Toast.LENGTH_SHORT).show();
                // builder.setMessage("支付失败,请清理微信缓存或重新安装.");
                break;

            case -2://用户取消了支付
                Toast.makeText(getApplicationContext(), "支付已取消.", Toast.LENGTH_SHORT).show();
                //builder.setMessage("支付已取消.");
                break;
        }

        //  builder.show();
    }
    finish();
}
}

Activity支付

 private Handler mHandler = new Handler() {
    public void handleMessage(Message msg) {
        if (msg.what==0){
            Map<String,String> map=(Map<String, String>)msg.obj;
        }
        Toast.makeText(ChooseSeat.this, map.toString(), Toast.LENGTH_LONG).show();
    };
};
public void onPayView(Object object) {
    PayBean payBean = (PayBean) object;
    final String result2 = payBean.getResult();
    Toast.makeText(this, ""+ payBean.getMessage(), Toast.LENGTH_SHORT).show();
    //微信
    Log.e("gsk", "viewData: "+ payBean.getAppId());
    IWXAPI api = WXAPIFactory.createWXAPI(this, null);
    PayReq req = new PayReq();
    req.appId = payBean.getAppId();//你的微信appid
    req.partnerId = payBean.getPartnerId();//商户号
    req.prepayId = payBean.getPrepayId();//预支付交易会话ID
    req.nonceStr = payBean.getNonceStr();//随机字符串
    req.timeStamp = payBean.getTimeStamp();//时间戳
    req.packageValue = payBean.getPackageValue();
    req.sign = payBean.getSign();//签名
    //req.extData         = "app data"; // optional
    api.registerApp("wxb3852e6a6b7d9516");
    // 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信
    api.sendReq(req);
    //支付宝
    Runnable payRunnable = new Runnable() {
        @Override
        public void run() {
            PayTask alipay = new PayTask(ChooseSeat.this);
            Map<String,String> result = alipay.payV2(result2,true);
            Message msg = new Message();
            msg.what = 0;
            mHandler.sendMessage(msg);
        }
    };
    // 必须异步调用
    Thread payThread = new Thread(payRunnable);
    payThread.start();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值