视频一区二区三区自拍_千金肉奴隷1985未删减版在线观看_国产成人黄色视频在线播放_少女免费播放片高清在线观看_国产精品v欧美精品v

商戶進件
特約商戶進件
基礎(chǔ)支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合單支付
付款碼支付
經(jīng)營能力
支付即服務(wù)
點金計劃
行業(yè)方案
平臺收付通(商戶進件)
平臺收付通(普通支付)
平臺收付通(合單支付)
平臺收付通(分賬)
平臺收付通(補差)
平臺收付通(退款)
平臺收付通(余額查詢)
平臺收付通(商戶提現(xiàn))
平臺收付通(注銷申請)
平臺收付通(注銷后提現(xiàn))
平臺收付通(跨境付款)
平臺收付通(下載賬單)
智慧商圈
微信支付分停車服務(wù)
電子發(fā)票
營銷工具
代金券
商家券
委托營銷
支付有禮
小程序發(fā)券插件
H5發(fā)券
圖片上傳(營銷專用)
現(xiàn)金紅包
資金應(yīng)用
分賬
連鎖品牌分賬
風險合規(guī)
商戶開戶意愿確認
消費者投訴2.0
商戶違規(guī)通知回調(diào)
其他能力
圖片上傳
視頻上傳
微信支付平臺證書

JSAPI調(diào)起支付API

最新更新時間:2023.06.13 版本說明


通過JSAPI下單接口獲取到發(fā)起支付的必要參數(shù)prepay_id,然后使用微信支付提供的前端JS方法調(diào)起公眾號支付。


注意:

1. 請確保實際支付時的請求目錄與后臺配置的目錄一致(現(xiàn)在已經(jīng)支持配置根目錄,配置后有一定的生效時間,一般5分鐘內(nèi)生效),否則將無法成功喚起微信支付。配置方式詳見支付授權(quán)目錄

2. WeixinJSBridge內(nèi)置對象在其他瀏覽器中無效。

接口說明

適用對象: 服務(wù)商 電商平臺

接口定義

此API無后臺接口交互,需要將列表中的數(shù)據(jù)簽名


參數(shù)名 變量 類型[長度限制] 必填 描述
應(yīng)用ID appId string[1,32] 商戶申請的公眾號對應(yīng)的appid,由微信支付生成,可在公眾號后臺查看。若下單時傳了sub_appid,可為sub_appid的值。
示例值:wx8888888888888888
時間戳 timeStamp string[1,32] 時間戳,標準北京時間,時區(qū)為東八區(qū),自1970年1月1日 0點0分0秒以來的秒數(shù)。注意:部分系統(tǒng)取到的值為毫秒級,需要轉(zhuǎn)換成秒(10位數(shù)字)。
示例值:1414561699
隨機字符串 nonceStr string[1,32] 隨機字符串,不長于32位。
示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS
訂單詳情擴展字符串 package string[1,128] JSAPI下單接口返回的prepay_id參數(shù)值,提交格式如:prepay_id=***
示例值:prepay_id=wx21201855730335ac86f8c43d1889123400
簽名方式 signType string[1,32] 簽名類型,默認為RSA,僅支持RSA。
示例值:RSA
簽名 paySign string[1,256] 簽名,使用字段appId、timeStamp、nonceStr、package計算得出的簽名值
示例值:oR9d8PuhnIc+YZ8cBHFCwfgpaK9gd7vaRvkYD7rthRAZ\/X+QBhcCYL21N7cHCTUxbQ+EAt6Uy+lwSN22f5YZvI45MLko8Pfso0jm46v5hqcVwrk6uddkGuT+Cdvu4WBqDzaDjnNa5UK3GfE1Wfl2gHxIIY5lLdUgWFts17D4WuolLLkiFZV+JSHMvH7eaLdT9N5GBovBwu5yYKUR7skR8Fu+LozcSqQixnlEZUfyE55feLOQTUYzLmR9pNtPbPsu6WVhbNHMS3Ss2+AehHvz+n64GDmXxbX++IOBvm2olHu3PsOUGRwhudhVf7UcGcunXt8cqNjKNqZLhLw4jq\/xDg==

返回結(jié)果值說明

描述 解決方案
get_brand_wcpay_request:ok 支付成功
get_brand_wcpay_request:cancel 支付過程中用戶取消
get_brand_wcpay_request:fail 支付失敗

JSAPI調(diào)起支付的參數(shù)需要按照簽名規(guī)則進行簽名計算:

1、構(gòu)造簽名串

簽名串一共有四行,每一行為一個參數(shù)。行尾以\n(換行符,ASCII編碼值為0x0A)結(jié)束,包括最后一行。
如果參數(shù)本身以\n結(jié)束,也需要附加一個\n

參與簽名字段及格式:

應(yīng)用ID
時間戳
隨機字符串
訂單詳情擴展字符串

數(shù)據(jù)舉例:

wx8888888888888888
1414561699
5K8264ILTKCH16CQ2502SI8ZNMTM67VS
prepay_id=wx201410272009395522657a690389285100 

絕大多數(shù)編程語言提供的簽名函數(shù)支持對簽名數(shù)據(jù) 進行簽名。強烈建議商戶調(diào)用該類函數(shù),使用商戶私鑰對待簽名串進行SHA256 with RSA簽名,并對簽名結(jié)果進行Base64編碼得到簽名值。

下面我們使用命令行演示如何生成簽名。


$ echo -n -e \
"wx8888888888888888\n1414561699\n5K8264ILTKCH16CQ2502SI8ZNMTM67VS\nprepay_id=wx201410272009395522657a690389285100\n" \
  | openssl dgst -sha256 -sign apiclient_key.pem \
  | openssl base64 -A
  uOVRnA4qG/MNnYzdQxJanN+zU+lTgIcnU9BxGw5dKjK+VdEUz2FeIoC+D5sB/LN+nGzX3hfZg6r5wT1pl2ZobmIc6p0ldN7J6yDgUzbX8Uk3sD4a4eZVPTBvqNDoUqcYMlZ9uuDdCvNv4TM3c1WzsXUrExwVkI1XO5jCNbgDJ25nkT/c1gIFvqoogl7MdSFGc4W4xZsqCItnqbypR3RuGIlR9h9vlRsy7zJR9PBI83X8alLDIfR1ukt1P7tMnmogZ0cuDY8cZsd8ZlCgLadmvej58SLsIkVxFJ8XyUgx9FmutKSYTmYtWBZ0+tNvfGmbXU7cob8H/4nLBiCwIUFluw==
                

signType參數(shù)不參與簽名,但需要傳遞,默認值為“RSA”,生成的簽名需要通過字段paySign傳遞。

請求示例


function onBridgeReady() {
    WeixinJSBridge.invoke('getBrandWCPayRequest', {
        "appId": "wx2421b1c4370ec43b",        //公眾號ID,由商戶傳入     
        "timeStamp": "1395712654",        //時間戳,自1970年以來的秒數(shù)     
        "nonceStr": "e61463f8efa94090b1f366cccfbbb444",       //隨機串     
        "package": "prepay_id=wx21201855730335ac86f8c43d1889123400",
        "signType": "RSA",       //微信簽名方式:     
        "paySign": "oR9d8PuhnIc+YZ8cBHFCwfgpaK9gd7vaRvkYD7rthRAZ\/X+QBhcCYL21N7cHCTUxbQ+EAt6Uy+lwSN22f5YZvI45MLko8Pfso0jm46v5hqcVwrk6uddkGuT+Cdvu4WBqDzaDjnNa5UK3GfE1Wfl2gHxIIY5lLdUgWFts17D4WuolLLkiFZV+JSHMvH7eaLdT9N5GBovBwu5yYKUR7skR8Fu+LozcSqQixnlEZUfyE55feLOQTUYzLmR9pNtPbPsu6WVhbNHMS3Ss2+AehHvz+n64GDmXxbX++IOBvm2olHu3PsOUGRwhudhVf7UcGcunXt8cqNjKNqZLhLw4jq\/xDg==" //微信簽名 
    },
    function(res) {
        if (res.err_msg == "get_brand_wcpay_request:ok") {
            // 使用以上方式判斷前端返回,微信團隊鄭重提示:
            //res.err_msg將在用戶支付成功后返回ok,但并不保證它絕對可靠。
        }
    });
}
if (typeof WeixinJSBridge == "undefined") {
    if (document.addEventListener) {
        document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
    } else if (document.attachEvent) {
        document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
        document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
    }
} else {
    onBridgeReady();
}
 
    
{
JAVA示例代碼
}
    


技術(shù)咨詢

文檔反饋