太郎/ JS / H5 /アプレット:アプレットは、統一されたマイクロチャネルの支払い命令を解決してから支払いを転送します

この記事では、特定のコードパス0-1を言っていない、私はいくつかの問題を解決する方法に焦点を当てます

次のように支払われた主な問題が発生しました:

1.取得のOpenID

単一の下で統一2.事前に注文番号を取得する(私は立ち上がって、フルネームプリペイドトランザクションセッション識別子)

3.呼び出し元の支払い

支払い処理後4

 

非常にシンプルなのOpenIDを取得1、コードを取得するにはTaro.login()を呼び出して、バックエンドのOpenIDに渡されます、これは終わりを取り戻す必要があります

受注の下2.統合いくつかの問題:

おそらくあなたは非常に多くの必須パラメータが必要になります。

{ 
            のAppID: ''、// AppIDを 
            mch_id: ''、   // マーチャントIDの 
            nonce_str: ''、// ランダムな文字列 
            ボディ: ''、// 製品について簡単に説明する 
            out_trade_no: ''、// マーチャントシステム内部注文番号唯一 
            total_fee:「」、// 注文合計、数分で 
            spbill_create_ip:「」、// あなたのIPは、あなたがバックエンドに渡す 
            :「」、notify_url // 支払うことを知らせる通知アドレス、マイクロチャネルトーン、ケース 
            trade_type: 'JSAPI' 
            OpenIDの: ''  
}

 

 

①ランダムな文字列

②署名

③XMLアセンブリと分析

 

エクスポート関数 randomString(LEN = 32 ){ 
    CONST文字の = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' 
    constのmaxPos = chars.length。
    PWDてみましょう '=' ;
    以下のために(iは++; iがLEN <I = 0せ{)
        PWD(Math.floor(Math.random()* + = chars.charAt )maxPos)を、
    } 
    戻りPWD。
}

 

次のようにパラメータを準備

CONSTのparams = { 
    APPID: '' 
    mch_id: '' 
    nonce_str:randomString( 32 )、
    本体: '' 
    out_trade_no:   '' 
    total_fee: '' 
    spbill_create_ip:   '' 
    notify_url: '' 
    trade_type:「JSAPI " 
    OpenIDの: '' 
}

 

署名:

CONST記号= signFunc(paramsは)
        params.sign =符号

署名機能

エクスポート機能signFunc(データ){
     // キーの1辞書の並べ替え 
    のconst = sortArr Object.keys(データ).sort()

    // キーURL 2.ターン
    // constの=文字列化(sortObjを)qsString 
    qsStringをしましょう= ' ' 
    sortArr.map((T、指数) => {
         IF(インデックス=== 0 ){ 
            qsString =' $ {T} = $ {DATA [T]} ` 
        } { 
            qsString =` $&$} {qsString T} = { $ {DATA [T]} ` 
        } 
    })

    // 3.キー+スプライシング文字列 
    CONST = qsString stringSignTemp +`キー=&$ '} {キー

    // 4.MD5签名 
    CONST記号= MD5(stringSignTemp).toUpperCase()

    戻り記号
}

私はフレーズをコメントしています、ので、URLパラメータのキーと値のペアを生成するためにそれを使用していない、NPMライブラリーの適量と呼ばれています

 

 

おすすめ

転載: www.cnblogs.com/ww01/p/11778398.html