微信支付APP支付完全攻略

2021-07-08 21:17:45 字數 3392 閱讀 1471

接入前準備

開始開發獲取預支付訂單

a.請求預支付訂單的引數

/**

* 配置請求預支付訂單的 引數

*/private string genproductargs() catch (exception e)

}

b.請求生成預支付訂單

/**

* 請求預支付訂單

*/private

class

getprepayidtask

extends

asynctask

>

@override

protected void onpostexecute(mapresult)

show.settext(sb.tostring());

resultunifiedorder=result;

}@override

protected void oncancelled()

@override

protected mapdoinbackground(void... params)

}

c.解析返回的xml資料
public

map<

string,string

> decodexml(string content)

break;

case xmlpullparser.end_tag:

break;

}event = parser.next();

}return

xml;

} catch (exception e)

return

null;

}

請求預支付訂單這個過程,實際開發過程中為了提高資料的安全性,建議放在服務端操作,客戶端只有獲取到調起支付的引數即可。

2.調起支付

final iwxapi msgapi = wxapifactory.createwxapi(this, null);
b.配置調起引數payreq

/**

* 配置調起支付引數

*/private void genpayreq()

c.調起支付

/**

* 調起支付

*/private

void

sendpayreq()

3.獲取支付結果

a.設定獲取支付結果的返回介面 **注意:**wxpayentryactivity一定要在包名的.wxapi.wxpayentryactivity下面,

b.在manifest中註冊響應的activity和receiver

android:icon="@drawable/ic_launcher"

android:name=".payactivity"

android:exported="true"

android:launchmode="singletop">

android:name="android.intent.action.main" />

android:name="android.intent.category.launcher" />

intent-filter>

android:name="android.intent.action.view"/>

android:name="android.intent.category.default"/>

android:scheme="wxf2f565574a968187"/>

intent-filter>

activity>

android:name="com.weixin.paydemo.wxapi.wxpayentryactivity"

android:exported="true"

android:launchmode="singletop"/>

intent-filter>

receiver>

c.在wxpayentryactivity中處理支付返回結果

package com
.weixin

.paydemo

.wxapi

;import com

.weixin

.paydemo.r;

import net.sourceforge

.simcpux

.constants

;import com

.tencent

.mm.sdk

.constants

.constantsapi

;import com

.tencent

.mm.sdk

.modelbase

.basereq

;import com

.tencent

.mm.sdk

.modelbase

.baseresp

;import com

.tencent

.mm.sdk

.openapi

.iwxapi

;import com

.tencent

.mm.sdk

.openapi

.iwxapieventhandler

;import com

.tencent

.mm.sdk

.openapi

.wxapifactory

;.activity

;.alertdialog

;import android.content

.intent

;import android.os

.bundle

;import android.util

.log

;public class wxpayentryactivity extends activity implements iwxapieventhandler

@override

protected void onnewintent(intent intent)

@override

public void onreq(basereq req)

@override

public void onresp(baseresp resp) }}

##

微信app支付

商戶id public static final string partner id 14698sdfs402dsfdew402 常量固定值 public static final string grant type client credential 獲取預支付id的介面url public st...

微信app支付

文件 arr mchid mchid,nonce str str random 32 隨機數 partner trade no order id,自己定義乙個不重複訂單號 check name no check desc desc,spbill create ip request getclient...

微信APP支付

final string mchid,final string notifyurl,final string outtradeno,final string noncestr,final string body,final string productid,final string totalfee...