摘要:相關(guān)官網(wǎng)開發(fā)者網(wǎng)站的是有的硬需求的,請?jiān)谀愕姆?wù)器上面啟用支持,可以參考我的這篇文章啟用實(shí)踐雖然是的,但是那段應(yīng)該同樣適用于都是一樣的還有一點(diǎn)就是這篇文章只是一個流程的實(shí)踐一切以官方的為準(zhǔn)請考照進(jìn)行擴(kuò)展流程注冊一個賬號自行注冊創(chuàng)建登陸輸入記
相關(guān)
官 網(wǎng): www.paypal.com
開發(fā)者網(wǎng)站: developer.paypal.com
paypal的sdk是有TLS1.2的硬需求的,請?jiān)谀愕姆?wù)器上面啟用TLS1.2支持,
可以參考我的這篇文章啟用TLS1.2實(shí)踐
雖然是windows的,但是apache那段應(yīng)該同樣適用于linux都是一樣的(apache + php 5.5 + php_openssl)
還有一點(diǎn)就是, 這篇文章只是一個流程的實(shí)踐, 一切以官方的SDK為準(zhǔn), 請考照sdk進(jìn)行擴(kuò)展
流程 1. 注冊一個paypal賬號自行注冊
2. 創(chuàng)建REST API apps登陸developer.paypal.com > Dashboard > My Apps & Credentials > REST API apps > Create App > 輸入App Name > Create App > 記錄下Clien ID和Secret
Dashboard > Sandbox > Accounts > Profile > Change password
facilitator和buyer的密碼都改了4. 使用SDK發(fā)起一個支付 下載sdk
git clone https://github.com/paypal/PayPal-PHP-SDK.git paypal cd paypal composer update
composer怎么安裝不是本文討論的內(nèi)容, 請google搜索
支付的流程及代碼創(chuàng)建支付獲取支付的地址
跳轉(zhuǎn)到支付地址
支付->成功會跳轉(zhuǎn)到回調(diào)地址$site["success"]
bb, show code
再說一句, 我是保存到本地的本地地址為 127.0.0.1/paypal/pay.php
setPaymentMethod("paypal"); $item = new Item(); $item->setName($order["title"]) ->setCurrency($order["currency"]) ->setQuantity(1) ->setPrice($order["price"]); $itemList = new ItemList(); $itemList->setItems([$item]); $details = new Details(); $details->setShipping($order["shipping"]) ->setSubtotal($order["price"]); $amount = new Amount(); $amount->setCurrency($order["currency"]) ->setTotal($order["price"] + $order["shipping"]) ->setDetails($details); $transaction = new Transaction(); $transaction->setAmount($amount) ->setItemList($itemList) ->setDescription($order["body"]) ->setInvoiceNumber(uniqid()); $redirectUrls = new RedirectUrls(); $redirectUrls->setReturnUrl($site["success"]) ->setCancelUrl($site["cancel"]); $payment = new Payment(); $payment->setIntent("sale"); $payment->setPayer($payer) ->setRedirectUrls($redirectUrls) ->setTransactions([$transaction]); try { $payment->create($apiContent); } catch (PayPalConnectionException $e) { // get error by $e->getData(); return false; } $pay_url = $payment->getApprovalLink(); // die($pay_url); header("Location: " . $pay_url);
回調(diào)return.php
匯率轉(zhuǎn)換接口
捕獲到的回調(diào)數(shù)據(jù)paypal支持但不限于美元(USD) 歐元(EUR) 日元(JPY) 港元(HKD) 臺幣(TWD), 完整支持請看 Currencies and Currency Codes 至今不支持人民幣,為什么是至今呢?以后肯定會支持的
由于paypal不支持人民幣(CNY)結(jié)算, 所以可能在實(shí)際的操作中需要把人民幣轉(zhuǎn)換為美元或者港元結(jié)算, 這里就需要用到匯率轉(zhuǎn)換接口我收集了3種匯率轉(zhuǎn)換方式Baidu api NOWAPI Yahoo api
Baidu api
我都沒有深度用過,這里也說不上哪個好哪個差,很多人都推薦雅虎接口,相比必有他的可取之處,我百度用起來方便,先百度用著,如果有其他的需求再換口接http://apistore.baidu.com/api...
NOWAPIhttps://www.nowapi.com/api/fi...
Yahoo api這個接口自行搜索,使用起來不是很方便
我這里提供百度的api的例程, 看代碼, 在實(shí)際操作中肯定需要再加一些東西, 如超時等異常處理, 這里為了簡單好懂這里就沒加上
function _currency_service($from, $to, $money){ $apikey = "你的百度的apikey"; $url_param = [ "fromCurrency" => $from, "toCurrency" => $to, "amount" => $money ]; // paypal 支持的貨幣 $currency_support = ["AUD", "CAD", "CHF", "CZK", "DKK", "EUR", "GBP", "HKD", "HUF", "JPY", "NOK", "NZD", "PLN", "SEK", "SGD", "USD"]; if (in_array($to, $currency_support)) return false; $ch = curl_init(); $url = "http://apis.baidu.com/apistore/currencyservice/currency?" . http_build_query($url_param); $header = array( "apikey: ". $apikey, ); curl_setopt($ch, CURLOPT_HTTPHEADER , $header); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 執(zhí)行HTTP請求 curl_setopt($ch , CURLOPT_URL , $url); $res = curl_exec($ch); if($ret = json_decode($res)){ $cny = $ret->retData->convertedamount; return $cny; } return false; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/30404.html
摘要:點(diǎn)擊結(jié)賬,會直接出現(xiàn)中間經(jīng)歷啦支付流程的三個步驟。跳轉(zhuǎn)后會異步根據(jù)獲取訂單信息到此時還沒有支付。展示第七步的交易結(jié)果若用以下的需要配置參考 paypal的沙箱:https://developer.paypal.com/...商家沙箱登錄:https://www.sandbox.paypal.co...paypal的PHP SDK地址:http://paypal.github.io/Pa...
摘要:簡介智能支付按鈕,是全球著名在線支付商提供的一項(xiàng)最新收款功能,其目的是盡可能多的消除結(jié)賬中產(chǎn)生的摩擦,即影響買家完成支付的不利因素。和之前的付款方式相比,這應(yīng)該也是一個改進(jìn)。服務(wù)端商家中設(shè)置及時通知商家登陸地址異步回調(diào)地址設(shè)置參考這里 簡介 Smart Payment Buttons(智能支付按鈕),是全球著名在線支付商PayPal提供的一項(xiàng)最新收款功能,其目的是盡可能多的消除結(jié)賬中...
摘要:簡介智能支付按鈕,是全球著名在線支付商提供的一項(xiàng)最新收款功能,其目的是盡可能多的消除結(jié)賬中產(chǎn)生的摩擦,即影響買家完成支付的不利因素。和之前的付款方式相比,這應(yīng)該也是一個改進(jìn)。服務(wù)端商家中設(shè)置及時通知商家登陸地址異步回調(diào)地址設(shè)置參考這里 簡介 Smart Payment Buttons(智能支付按鈕),是全球著名在線支付商PayPal提供的一項(xiàng)最新收款功能,其目的是盡可能多的消除結(jié)賬中...
閱讀 727·2021-11-18 10:02
閱讀 2269·2021-11-15 18:13
閱讀 3229·2021-11-15 11:38
閱讀 2995·2021-09-22 15:55
閱讀 3707·2021-08-09 13:43
閱讀 2476·2021-07-25 14:19
閱讀 2481·2019-08-30 14:15
閱讀 3472·2019-08-30 14:15