Category: Web 教學

[教學] 在 MacOS 下讓 wordpress 使用固定網址

1. 建立 .htaccess 並讓 wordpress 有權限修改

$ cd web_site_root_directory
$ touch .htaccess
$ sudo chown _www .htaccess

2. 修改以你網站名稱命名的 .conf, 以 MacOS 10.6.7 為例,位於 /private/etc/apache2/sites 。

找到 "AllowOverride""None" 改成 "All"

3. 重新啓動 web service

Tags : ,

[教學] 如何使用 PayPal 作為你網站的結賬工具

PayPal SDK

下載

至 https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index 下載 PayPal SDK

PayPal 一共提供三種版本

  • dotnet
  • php
  • java (以下文章內容均以 java 版本為主)

Build

Build Merchant 這個 library 產生出 merchant-java-sdk_1.1.93.jar

其他的 lbirary 可以不需要

Sample Web

在 samples/merchant-sample 內可以找到 PayPal 提供的 sample, 透過 sample 可以操作基本的 PayPal API.

註冊開發者賬號

註冊

註冊一個 Paypal Devloper 帳號作為 Sandbox 測試用

測試帳號

新增2組測試帳號 (Test Accounts)

  • Buyer – 作為購買商品的測試帳號
  • Seller – 作為開發用的測試帳號

獲取 API Credentials

申請完 Seller Test Account 後,進入 [API and Payment Card Credentials] 項目可以看到

這些資訊將會填入 sdk_config.properties 內

交易流程

Step1. SetExpressCheckout

(情境)走到 PayPal 的櫃台跟櫃台人員說我等一下要開始結賬了

提交 SetExpressCheckout Request 至 PayPal。

  • https://api-3t.sandbox.paypal.com/2.0

Step2. TOKEN

(情境)櫃台人員收到你要開始結賬的通知,給你一個號碼牌讓你等下跟裡面的行員交易時使用

獲得 Express Checkout Token

PayPal 會將 Token 回傳至你所提供的 RETURNURL

TIMESTAMP=2007%2d04%2d05T23%3a23%3a07Z
&CORRELATIONID=63cdac0b67b50
&ACK=Success
&VERSION=2%2e300000
&BUILD=1%2e0006
&TOKEN=EC%2d1NK66318YB717835M
  • TOKEN = EC-21NK66318YB717835M

「註」使用的時候要將 %2d 轉換成 –

Step3. Redirect

(情境)你拿著剛剛發給你的號碼牌,去找裡面的行員

將此 token 回傳至 PayPal 開始顧客做登入 PayPal 的動作

  • https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=BC-6BM72991BF458753N

Step4. PayerID

(情境)行員會提供你所要結賬的客戶代號

獲得 PayerID,PayPal 會將 PayerID 回傳至你所提供的 RETURNURL

  • PayerID=7AKUSARZ7SAT8

Step5. 客戶資料

(情境)如果有需要的話,你可以使用這個客戶代號去跟行員要求客戶的詳細資料

提交 GetExpressCheckoutDetails 可以得到一些相關的客戶資訊 (這一個步驟是 optional)

TIMESTAMP=2007%2d04%2d05T23%3a44%3a11Z
&CORRELATIONID=6b174e9bac3b3
&ACK=Success
&VERSION=2%2e300000
&BUILD=1%2e0006
&TOKEN=EC%2d1NK66318YB717835M
&EMAIL=CustomerEmailAccount
&PAYERID=7AKUSARZ7SAT8
&PAYERSTATUS=verified
&FIRSTNAME=...
&LASTNAME=...
&COUNTRYCODE=US
&BUSINESS=...
&SHIPTONAME=...
&SHIPTOSTREET=...
&SHIPTOCITY=...
&SHIPTOSTATE=CA
&SHIPTOCOUNTRYCODE=US
&SHIPTOCOUNTRYNAME=United%20States
&SHIPTOZIP=94666
&ADDRESSID=...
&ADDRESSSTATUS=Confirmed

Step6. 開始結賬

(情境)有客戶的代號後,就可以開始進行結賬了,你的客戶可以選擇一次性購買商品,或者是訂閱報章的週期性付款方式

PayPal 提供兩種結賬方式

DoExpressCheckoutPayment,一次性的結賬

CreateRecurringPaymentsProfile,訂閱,週期性的付款(subscription)

Step7. 結賬結果

(情境)行員會告知你這次交易的結果是成功或是失敗

TIMESTAMP=2007%2d04%2d05T23%3a30%3a16Z
&CORRELATIONID=333fb808bb23
&ACK=Success
&VERSION=2%2e300000
&BUILD=1%2e0006
&TOKEN=EC%2d1NK66318YB717835M
&TRANSACTIONID=043144440L487742J
&TRANSACTIONTYPE=expresscheckout
&PAYMENTTYPE=instant
&ORDERTIME=2007%2d04%2d05T23%3a30%3a14Z
&AMT=19%2e95
&CURRENCYCODE=USD
&TAXAMT=0%2e00
&PAYMENTSTATUS=Pending
&PENDINGREASON=authorization
&REASONCODE=None

相關網頁

PayPal Developer – https://developer.paypal.com

PayPal SDK – https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index

PayPal Documention & Tools – https://www.x.com/developers/paypal/documentation-tools

PayPal Sandbox Test site – https://www.sandbox.paypal.com/webapps/mpp/home

PayPal Sandbox User Guide – https://www.paypalobjects.com/en_US/ebook/PP_Sandbox_UserGuide

PayPal Sandbox Getting Started Guide – https://www.x.com/developers/paypal/documentation-tools/quick-start-guides/paypal-sandbox-getting-started-guide

Tags :