日本中文字幕免费在线,a级片免费,黄色好看一区二区三区,国产91九色在线播放,色综合无码av网站,国产AV高清精品久久,久久免费观看午夜成人网站,91成人精品免费在线

            服務熱線 400-660-5555 (轉1)

            網站建設

            網站建設

            站內資訊
            網站建設 / 站內資訊 / 行業資訊 / 正文

            外貿獨立站之國外支付接口Paypal對接

            來源: All文章
            發布時間:2023-03-31 17:02:47

              1.首先去開發者平臺注冊測試賬號,注冊網站是

              2.好了之后再進入Sandbox建立測試用的Paypal虛擬帳號(至少應該建立一個Business的和一個Personal的),這個虛擬帳號可以建一個商家號和一個支付號,可用于測試,里面的金額可以自由設定。

              3.商家號那里一般填寫的是郵箱(測試的時候,正式的商家號不是郵箱)。

              4.需要注意的是:

              5.

              1、把相關配置信息盡量放到數據庫中。

              6.

              2、測試帳號下的支付完成后是不會觸發異步回調地址的,需要到開發者平臺的去模擬相關觸發。

              7.

              3、為了回調支付準確,增加了一個可以自定義的驗證密鑰,參與加密驗證。

              8.基本配置信息:

              function__construct(){

              parent::__construct();

              $testConfig=array(

              'payUrl'='https://www.300.cn/cgi-bin/webscr',//支付地址

              'business'='3HSV6******',//商家號

              'currency_code'='USD',//支付幣種具體代碼可參考:https://developer.paypal.com/docs/classic/api/currency_codes/

              'lc'='US',//支付頁面的語言具體代碼可參考:https://developer.paypal.com/docs/classic/api/country_codes/

              'key'='siteape',//個人加密字符串

              );

              $prodConfig=array(

              'payUrl'='https://www.300.cn/cgi-bin/webscr',//支付地址

              'business'='3HSV6******',//商家號

              'currency_code'='USD',//支付幣種具體代碼可參考:https://developer.paypal.com/docs/classic/api/currency_codes/

              'lc'='US',//支付頁面的語言具體代碼可參考:https://developer.paypal.com/docs/classic/api/country_codes/

              'key'='siteape',//個人加密字符串

              );

              $payConfig=$testConfig;//這里切換測試環境和生產環境

              $this-payConfig=$payConfig;

              }

              9.paypal支付提交處理

              publicfunctionpaypalpay(){

              $oid=I('oid');

              //數據信息

              $order=M('order')-find($oid);//訂單信息

              if(!$order){

              $this-display('Public:404');

              exit();

              }

              $data=$this-payConfig;

              //訂單詳情信息

              $orderDetail=M('order_detail')-where(array('oid'=$oid))-select();

              $goodsInfo='';

              foreach($orderDetailas$k=$v){

              $product=M($v['name'])-field('title')-find($v['pid']);

              $product_color=M($v['name'].'_colors')-field('title')-find($v['color_id']);

              $goodsInfo.=$product['title'].'-'.$product_color['title'].'-'.$v['diameter'].'-'.$v['number'].'-';

              }

              //加密傳值

              $signSrc='';

              $signArr=array(

              'invoice'=$order['order_num'],//自定義訂單號

              'key'=$data['key'],//自定義的加密字符串

              );

              foreach($signArras$k=$v){

              $signSrc.=$v;

              }

              $signInfo=strtoupper(hash(sha256,$signSrc));

              //表單提交

              $formData=array(

              'cmd'='_xclick',

              'business'=$data['business'],

              'item_name'=string_replace($goodsInfo),

              'currency_code'=$data['currency_code'],

              'amount'=$order['real_money'],

              'notify_url'=C('PROTOCOL').$_SERVER['SERVER_NAME'].U('Pay/paypalnotifyurl'),

              'return'=C('PROTOCOL').$_SERVER['SERVER_NAME'].U('Order/info',array('order_num'=$order['order_num'],'paypal'=1)),//支付成功后網頁跳轉地址把order_num帶上

              'cancel_return'=C('PROTOCOL').$_SERVER['SERVER_NAME'].U('Order/info',array('order_num'=$order['order_num'])),//用戶取消支付后跳轉的地址

              'invoice'=$order['order_num'],//自定義訂單號

              'no_shipping'=1,

              'custom'=$signInfo,//自定義變量原樣返回訂單id號

              'charset'='utf8',

              'lc'=$data['lc'],

              );

              header(Content-type:text/html;charset=utf-8);

              //輸出提交表單

              $payForm='formaction='.$data['payUrl'].'method=postid=formname=form'.inputs($formData).'/formscriptdocument.form.submit()/script';

              echo$payForm;

              }

              10.paypal回調地址

              publicfunctionpaypalnotifyurl(){

              $data=$this-payConfig;

              //加密接收值

              $getData=array(

              'invoice'=I('post.invoice'),

              'key'=$data['key'],

              );

              //鍵名和鍵值和上面的原加密字符串一致

              $payment_status=I('post.payment_status');

              $custom=I('post.custom');//接收的加密字符串

              $signSrc='';

              foreach($getDataas$k=$v){

              $signSrc.=$v;

              }

              $signInfo=strtoupper(hash(sha256,$signSrc));

              //驗證與修改

              if($signInfo==$custom$payment_status=='Completed'){

              //改變訂單的狀態為已支付

              $saveData=array(

              'pay_create_time'=time(),

              'pay_sign_info'=$signInfo,

              'status'=2,

              );

              $re=M('order')-where(array('order_num'=$getData['invoice']))-data($saveData)-save();

              $payResult=Congratulations,paymentissuccessful!;

              }else{

              $payResult=Datavalidationfailed;

              }

              /*支付的異步記錄備查*/

              $logData=I('post.');

              $logfile=.'/payPalLog_c451f8e6e5301

              4.txt';

              import(Org.Util.File);

              $logObj=new\File($logfile);

              $logfile=$logObj-getRealFile();

              file_put_contents($logfile,serialize($logData),FILE_APPEND);

              }

              }

              11.組裝表單域

              functioninputs($data){

              $inputs='';

              foreach($dataas$k=$v){

              $inputs.='inputtype=hiddenname='.$k.'value='.$v.'/';

              }

              return$inputs;

              }

            * 文章來源于網絡,如有侵權,請聯系客服刪除處理。
            在線 咨詢

            添加動力小姐姐微信

            微信 咨詢

            電話咨詢

            400-660-5555 (轉1)

            我們聯系您

            電話 咨詢
            微信掃碼關注動力小姐姐 X
            qr