Alipayインターフェースの開発と統合支払環境のまとめ
宝を支払うインターフェースの統合気死については簡単ですが、現在は3つのタイプがあります。即時に帳簿、双機能、担保取引に行きます。一度の担保取引だけが必要です。他の例えば、即時に帳簿に積み立てば簡単です。担保取引の状態はいくつかあります。即時に帳簿に着いて1種だけあって、すでにお金を支払ったかどうかです!最大で払い戻し機能があります。ほとんど使われていません。
前にプロジェクトをしました。資本配分プラットフォームには前払いの機能があります。宝を支払うダブル機能で入金します。実は二つの支払方法を提供して、即時に帳簿と担保取引をします。一般的にバイヤーは慎重に担保を選択します。
以下で具体的な集積過程を説明します。第一に、対応する集積インターフェースパッケージをダウンロードします。例えば、即時に帳簿に着いたらすぐに帳簿にダウンロードして、ダウンロードして保証します。ケースの中で私がダウンロードしたダブル機能インターフェースファイルは、utf 8-phpインターフェースです。
ダウンロードしたファイルは全部大同小異です。即時に帳簿と担保の書類にも違いがありません。一応保証されたAlipayインターフェースをセットすれば、即時に帳簿に配置することができます。
私達が修正したいファイルは以下の通りです。alipay.co nfig.php[プロファイルを設定するのは、設定インターフェース開発者のIDとkeyを修正するためだけです。]
alipaypi.php[マスタファイルは、送信する必要があるpostデータをこのファイルに渡してから、支払いページにジャンプします。]
index.php[demoデモンストレーションページは、修正しなくてもいいですが、その中で伝達するパラメータ名陳は分かります。]
notify_url.phpはデータページに戻ります。ここでは取引の状態に戻ります。さらに状態を整えて、データベースの注文情報を変更できます。このファイルはpost方式で受け取ります。
return_url.phpはデータページに戻ります。ここでは取引の状態に戻ります。さらに状態を整えて、データベースの注文情報を変更できます。このファイルはGET方式を通じています。
具体的なプロセス:
ステップ1で、設定情報を変更します。
第二:postデータをつづり合わせて、要求パラメータだけを修正する必要があります。
第三に、データ構造が完了したら、ページ上でお支払いできます。正確にお支払いページを開くことができるかどうかをテストします。もし開けられたら、この時に支払いができますが、バイヤーの支払いの状態はまだ分かりません。例えば支払いが成功したかどうか、売り手はすでに出荷したかどうかなどです。それでは、戻り状態のビジネスロジック処理を開始します。
return_を開くurl.phpファイルは、提示によって修正し、原因に対する処理をします。
以上述べましたが、この文章はAlipayインターフェースの全部の内容についてです。皆様のAlipayインターフェースの支払いを熟知している二次開発に役に立ちます。
前にプロジェクトをしました。資本配分プラットフォームには前払いの機能があります。宝を支払うダブル機能で入金します。実は二つの支払方法を提供して、即時に帳簿と担保取引をします。一般的にバイヤーは慎重に担保を選択します。
以下で具体的な集積過程を説明します。第一に、対応する集積インターフェースパッケージをダウンロードします。例えば、即時に帳簿に着いたらすぐに帳簿にダウンロードして、ダウンロードして保証します。ケースの中で私がダウンロードしたダブル機能インターフェースファイルは、utf 8-phpインターフェースです。
ダウンロードしたファイルは全部大同小異です。即時に帳簿と担保の書類にも違いがありません。一応保証されたAlipayインターフェースをセットすれば、即時に帳簿に配置することができます。
私達が修正したいファイルは以下の通りです。alipay.co nfig.php[プロファイルを設定するのは、設定インターフェース開発者のIDとkeyを修正するためだけです。]
alipaypi.php[マスタファイルは、送信する必要があるpostデータをこのファイルに渡してから、支払いページにジャンプします。]
index.php[demoデモンストレーションページは、修正しなくてもいいですが、その中で伝達するパラメータ名陳は分かります。]
notify_url.phpはデータページに戻ります。ここでは取引の状態に戻ります。さらに状態を整えて、データベースの注文情報を変更できます。このファイルはpost方式で受け取ります。
return_url.phpはデータページに戻ります。ここでは取引の状態に戻ります。さらに状態を整えて、データベースの注文情報を変更できます。このファイルはGET方式を通じています。
具体的なプロセス:
ステップ1で、設定情報を変更します。
$alipay_config['partner'] = 'xxx8511073xxxxxxxx';
// , 32
$alipay_config['key'] ='xxxxxxxxnow07oajbflskxxxxxxxxxx';
第二:postデータをつづり合わせて、要求パラメータだけを修正する必要があります。
/************************** **************************/
//
$payment_type = "1";
// ,
//
$notify_url = "http:// /alipay/notify_url.php";
// http:// , ?id=123
//
$return_url = "http:// /alipay/return_url.php";
// http:// , ?id=123 , http://localhost/
//
$seller_email = $_POST['WIDseller_email'];//demo[index.php]
//
//
$out_trade_no = $_POST['WIDout_trade_no'];//
// ,
//
$subject = $_POST['WIDsubject'];//
//
//
$price = $_POST['WIDprice'];// ,
//
//
$quantity = "1";
// , 1, ,
//
$logistics_fee = "0.00";
// ,
//
$logistics_type = "EXPRESS";
// , :EXPRESS( )、POST( )、EMS(EMS)
//
$logistics_payment = "SELLER_PAY";
// , :SELLER_PAY( )、BUYER_PAY( )
//
$body = $_POST['WIDbody'];
//
$show_url = $_POST['WIDshow_url'];
// http:// , :http://www.ya-jing.cn
//
$receive_name = ' ';
// :
//
$receive_address = $_POST['WIDreceive_address'];
// :XX XXX XXX XXX XXX XXX XXX XXX
//
$receive_zip = $_POST['WIDreceive_zip'];
// :123456
//
$receive_phone = $_POST['WIDreceive_phone'];
// :0571-88158090
//
$receive_mobile = $_POST['WIDreceive_mobile'];
// :13312341234
第三に、データ構造が完了したら、ページ上でお支払いできます。正確にお支払いページを開くことができるかどうかをテストします。もし開けられたら、この時に支払いができますが、バイヤーの支払いの状態はまだ分かりません。例えば支払いが成功したかどうか、売り手はすでに出荷したかどうかなどです。それでは、戻り状態のビジネスロジック処理を開始します。
return_を開くurl.phpファイルは、提示によって修正し、原因に対する処理をします。
//―― ( )――
// ,
// $out_trade_no = $_GET['out_trade_no'];
// $trade_no = $_GET['trade_no'];
//
$trade_status = $_GET['trade_status'];
if($_GET['trade_status'] == 'WAIT_SELLER_SEND_GOODS') {//
//
if(!$order['status']){//
db_update("stx_recharge",array("status"=>1),array("oid"=>$_GET
['out_trade_no']));// 。
//
$zd = db_line("stx_terminal",array("id"=>$order['ztid']));
db_update("stx_terminal",array("money"=>$zd['money']+$order
['money']),array("id"=>$order['ztid']));// 。
}
}
else if($_GET['trade_status'] == 'TRADE_FINISHED') {
//
// , (out_trade_no)
,
// ,
}
else {
echo "trade_status=".$_GET['trade_status'];
}
echo " <br />";
echo "trade_no=".$trade_no;
notify_url.phpも、状態に応じて対応コードを作成します。notify_url.phpファイルの状態は多めにしてください。
//―― ( )――
// ,
//
$out_trade_no = $_POST['out_trade_no'];
//
$trade_no = $_POST['trade_no'];
//
$trade_status = $_POST['trade_status'];
if($_POST['trade_status'] == 'WAIT_BUYER_PAY') {
// ,
//
// , (out_trade_no) ,
// ,
echo "success"; //
// ,
//logResult(" , ");
}
else if($_POST['trade_status'] == 'WAIT_SELLER_SEND_GOODS') {
// ,
if(!$order['status']){
db_update("stx_recharge",array("status"=>1),array("oid"=>$_POST['out_trade_no']));
//
$zd = db_line("stx_terminal",array("id"=>$order['ztid']));
db_update("stx_terminal",array("money"=>$zd['money']+$order['money']),array("id"=>$order['ztid']));
}
echo "success"; //
// ,
//logResult(" , ");
}
else if($_POST['trade_status'] =='WAIT_BUYER_CONFIRM_GOODS') {
// ,
if(!$order['status']){
db_update("stx_recharge",array("status"=>1),array("oid"=>$_POST['out_trade_no']));
//
$zd = db_line("stx_terminal",array("id"=>$order['ztid']));
db_update("stx_terminal",array("money"=>$zd['money']+$order['money']),array("id"=>$order['ztid']));
}
echo "success"; //
// ,
//logResult(" , ");
}
else if($_POST['trade_status'] == 'TRADE_FINISHED') {
// ,
//
// , (out_trade_no) ,
// ,
echo "success"; //
// ,
//logResult(" , ");
}
私は基本的に後続の出荷処理を使っていませんので、この状態で処理していません。もしあなたのウェブサイトがショッピングサイトの秒であれば、対応する処理をしなければなりません。例えば、更新した状態の値はすでに出荷したか、未払い、確認したかなどです。取引の流れが見えやすいです。また、すでにお支払いした注文書の中で、アリペイの注文IDが発生します。同時に自分の注文書に記録することができます。以上述べましたが、この文章はAlipayインターフェースの全部の内容についてです。皆様のAlipayインターフェースの支払いを熟知している二次開発に役に立ちます。