検索

ホームページ  >  に質問  >  本文

Alipay 支払い経由で注文を送信するときに、未定義のインデックス: request_token を要求する方法は?

require_once(app_path() . "/Tool/Alipay/alipay.config.php");

require_once(app_path() . "/Tool/Alipay/lib/alipay_submit.class.php") ;


//戻り形式

$format = "xml";

//必須、変更は必要ありません


//戻り形式

$v = "2.0";

//必須、変更は必要ありません


//リクエスト番号

$req_id = date('Ymdhis');

//必須、各リクエストは一意である必要があります


//**req_data の詳細**


## //サーバーの非同期通知ページのパス

$notify_url = "http://" 。 $_SERVER['HTTP_HOST'] . '/service/pay/ali_notify';

//http:// 形式のフルパスが必要、?id= は許可されません 123 このようなカスタムパラメータ


//ページジャンプ同期通知ページのパス

$call_back_url = "http://" . $_SERVER[' HTTP_HOST'] . '/service/pay/ali_result' ;

//http:// 形式の完全なパスが必要です。?id=123 などのカスタム パラメータは許可されません

/ /http://127.0.0.1:8800/WS_WAP_PAYWAP -PHP-UTF-8/call_back_url.php

## //操作中断の戻りアドレス

$ Merchant_url = "http://" . $_SERVER[' HTTP_HOST'] . '/service/pay/ali_merchant';

// ユーザーが支払い中に終了すると、販売者のアドレスに戻ります。 http:// 形式のフル パスが必要です。?id=123 などのカスタム パラメータは使用できません。

## //販売者の Alipay アカウント


$ sell_email = 'ajjnae2770@sandbox.com';

//必須

//販売者注文番号


$out_trade_no = $_POST ['order_no'];

//販売者の Web サイトの注文システムの一意の注文番号、必須です

Log::info('out_trade_no:' . $out_trade_no);

//注文名


$subject = $_POST['name'];

//必須

//支払い金額


$total_fee = $_POST['total_price'];

//必須

/ /ビジネスパラメータの詳細をリクエストする

$req_data = '<direct_trade_create_req><notify_url>' 。 $notify_url 。 '</notify_url><call_back_url>' 。 $call_back_url 。 '</call_back_url><seller_account_name>' 。 $seller_email 。 '</seller_account_name><out_trade_no>' 。 $out_trade_no 。 '</out_trade_no><件名>' 。 $subject 。 '</subject><total_fee>' 。 $total_fee 。 '</total_fee><merchant_url>' 。 $merchant_url 。 '</merchant_url></direct_trade_create_req>';

//必須


/************************************************* **********/


//造要要求のパラメータ数群、修正不要

$para_token = array(

"service" => "alipay.wap. trade.create.direct",

"partner" =>trim($alipay_config['partner']),

"sec_id" =>trim($alipay_config['sign_type' ]),

"format" => $format,

"v" => $v,

"req_id" => $req_id,

"req_data" => $req_data,

"_input_charset" => トリム(strto lower($alipay_config['input_charset']))

);

//建立请求

$alipaySubmit = new \AlipaySubmit($alipay_config);


//报错点

$html_text = $alipaySubmit->buildRequestHttp($para_token);

//URLDECODE 返される情報

$html_text = urldecode($html_text) ;


//解析远程模拟提交後に返される情報

$para_html_text = $alipaySubmit->parseResponse($html_text);

//获取request_token

$request_token = $para_html_text['request_token'];



/************************認証コードに基づいてトランザクション インターフェイス alipay.wap.auth.authAndExecute を呼び出します*************トークン **************/


//业务详细

$req_data = '<auth_and_execute_req><request_token>' 。 $request_token 。 '</request_token></auth_and_execute_req>';

//必須


//造要要求のパラメータ数群、変更は不要

$parameter = array(

"service" => "alipay.wap.auth.authAndExecute",

"パートナー" => rim($alipay_config['partner']),

"sec_id" => Trim($alipay_config['sign_type']),

"format" => $format,

"v" => $v,

"req_id" => $req_id,

"req_data" => $req_data,

"_input_charset" => rim(strto lower($alipay_config['input_charset']))

);


//建立请求

$alipaySubmit = new \AlipaySubmit($alipay_config);

$html_text = $alipaySubmit->buildRequestForm($parameter, 'get', '确认');


return $html_text;

}


@2483日前3466

全員に返信(1)返信します

  • 韦小宝

    韦小宝2018-02-08 11:09:34

    request_token が取得できませんでした。支払い承認を申請していませんか?


    返事
    0
  • キャンセル返事