GetUrlPay Param : $_Amount,$_OrderID,$_OrderName $_Amount : Tổng số tiền cần thanh toán.. $_OrderName : Tên đơn hàng cần thanh toán.. $_OrderName : Tên đơn hàng cần thanh toán.. Sử dụng
Trang 1HƯỚNG DẪN TÍCH HỢP PAYPAL
PHP
`I – Tích hợp đơn giản
Là hình thức nhúng mã html vào website.Để tích hợp mở file PaypalUrl.php
Các hàm tương ứng :
1 GetUrlPay
Param : ($_Amount,$_OrderID,$_OrderName)
$_Amount : Tổng số tiền cần thanh toán.
$_OrderID : Mã đơn hàng cần thanh toán.
$_OrderName : Tên đơn hàng cần thanh toán.
Return : String
Kết quả trả về là một chuỗi đã được thiết lập theo cấu trúc dưới dạng đường linh chuẩn của paypal.
Ex :return https://www.paypal.com/cgi-bin/webscr?
cmd=_xclick&no_note=1&no_shipping=1¤cy_code="+ $this->CURENCY_CODE
+"¬ify_url=&amount="+ $_Amount +"&business="
+$this->PAYPAL_EMAIL_ACOUNT+"&item_name="+ $_OrderName +"&vpc_orderid="+
$_OrderID +"&quantity=1&return="+ $this->RETURN_URL +"&cancel_return="+
$this->CANCEL_URL+"&BUTTONSOURCE=Peacesoft_Channel_EC_VN
Using : header(localtion:’return’);
2 GetButtomPaypal
Hàm sinh ra đoạn mã html có chứa link thanh toán tới paypal có dạng một nút thanh toán :
Trang 2
Param : ($_Amount,$_OrderID,$_OrderName)
$_Amount : Tổng số tiền cần thanh toán.
$_OrderID : Mã đơn hàng cần thanh toán.
$_OrderName : Tên đơn hàng cần thanh toán.
Return : String
II – Tích hợp nâng cao
Download source demo tích hợp nâng cao paypal Paypal_NL.rar
1 Sử dụng PaypalCheckOutExpress <thực hiện thanh toán nâng cao sử dụng tokenkey> .Tên hàm : SetExpressCheckOutFuntion
Param : $amount,$curentcy,$urlReturn,$urlCancel
+ $amount : Số tiền cần thanh toán
+ $curency : Mã đơn vị tiền tệ
+ $urlReturn : Đường link trả về kết quả giao dịch + $urlCancel : Đường link trả về khi giao dịch bị hủy bỏ Return : String <là một chuỗi chứa đường link thanh toán>
Chuỗi trả về có dạng :
https://www.live.paypal.com/webscr&cmd=_express-checkout&token=$token Note :
Cần lưu lại mã token_key để sử dụng khi lấy về thông tin của giao dịch Tên hàm : GetExpressCheckOutFuntion
Param : $token <chính là mã token được lấy về từ hàm SetExpressCheckOutFunction>
Return : Object EntityDetailExpressCheckOut
Giải thích các tham số trong EntityDetailExpressCheckOut
Trang 3t Tên Chú thích
1 ACK Mã trả về nếu hành động được thực hiện thành công
thì nó trả về : Success, WarningWithSuccess
2 TOKEN Mã bảo mật tokenkey
3 TIMESTAMP Thời gian phát sinh ra giao dịch trước đó
4 CORRELATIONID
5 VERSION Phiên bản API của paypal
6 BUILD Ko cần quan tâm tới giá trị này
7 EMAIL Địa chỉ email của người thanh toán
8 PAYERSTATUS Trạng thái thanh toán <Completed,Pending …>
9 BUSINESS Email tài khoản paypal của người bán
10 FIRSTNAME Tên cuối của chủ khách mua hàng
11 LASTNAME Tên cuối của người mua
12 COUNTRYCODE Mã quốc gia của người mua
13 SHIPTONAME Tên người nhận hàng
14 ADDRESSSTATUS Trạng thái địa chỉ <Verfied : nếu đã được paypal xác
thực>
15 PAYERID Mã số người mua
16 SHIPTOSTREET1 Địa chỉ con đường nhận hàng 1
17 SHIPTOSTREET2 Địa chỉ con đường nhận hàng 2
18 SHIPTOCITY Tên thành phố
19 SHIPTOSTATE Mã vùng <tương đương mã quận huyện ở việt nam>
20 SHIPTOZIP Mã bưu điện
21 SHIPTOCOUNTRYCODE Mã quốc gia nhận hàng
22 ERRORCODE Mã lỗi phát sinh nếu : mã token key không hợp lệ
hoặc thông tin kết nối tới paypal có vấn đề
23 SHORTMESSAGE Tên của lỗi
24 SEVERITYCODE Trạng thái
Ưu điểm : Các thông tin mà người mua hàng khai báo trên tài khoản paypal như thông tin cá nhân thông địa chỉ nhận hàng sẽ được lấy về sử dụng lun khi người dùng tham gia mua hàng do vậy trên trang mua hàng người mua sẽ không cần phải nhập các thông tin đó lại mà sẽ được lấy lun trên tài khoản paypal
2 Sử dụng hàm GetBalance <lấy về số dư khả dụng của paypal>
Tên hàm : GetBalance
Param : Không
Return : Nếu hành động được thực hiện thành công
Array <Amount,Currency,ErrorCode=00>
Nếu hành động được thực hiện không thành công :
Trang 4Array <ErrorCode,Errorname,Message>
Chú thích :
Amount : Số tiền trong tài khoản
Currency : Mã đơn vị tiền tệ
ErrorCode : Mã lỗi phát sinh <không có lỗi giá trị là 00> Errorname : Tên của lỗi phát sinh
Message : Nội dung mô tả của lỗi
3 Sử dụng hàm GetTransactiondetail <lấy về thông tin chi tiết của một giao dịch> Tên hàm : GetDetailTransaction
Param : $TransactionID <mã giao dịch>
Return : Object EntityTransaction
Mô tả object EntityTransaction
1 RECEIVERBUSINESS Tên chủ tài khoản paypal nhận tiền
2 RECEIVEREMAIL Email paypal người nhận tiền
3 RECEIVERID Mã tài khoản paypal
4 EMAIL Địa chỉ email
5 PAYERID Mã người mua
6 PAYERSTATUS Trạng thái thanh toán
7 COUNTRYCODE Mã quốc gia
8 BUSINESS
10 SHIPTOSTREET
11 SHIPTOCITY
12 SHIPTOSTATE
13 SHIPTOCOUNTRYCODE
14 SHIPTOCOUNTRYNAME
15 SHIPTOZIP
16 ADDRESSOWNER
17 ADDRESSSTATUS
18 SALESTAX
19 TIMESTAMP
20 CORRELATIONID
23 BUILD
24 FIRSTNAME
25 LASTNAME
Trang 526 TRANSACTIONID
28 PAYMENTTYPE
29 ORDERTIME
31 TAXAMT
32 CURRENCYCODE
33 PAYMENTSTATUS
34 PENDINGREASON
35 REASONCODE
36 L_NAME0
37 L_NUMBER0
38 L_QTY0
39 L_TAXAMT0
40 L_CURRENCYCODE0
41 L_ERRORCODE0
42 L_SHORTMESSAGE0
43 L_LONGMESSAGE0
44 L_SEVERITYCODE0
4 Sử dụng hàm SearchTransaction <tìm kiếm giao dịch phát sinh trong khoảng thời gian> Tên hàm : PPHttpPostSearchTransaction
Param : $Transaction,$dateStart,$dateEnd
$Transaction : Mã giao dịch cần tìm kiếm
$dateStart : Thời gian phát sinh giao dịch cần tìm từ
$dateEnd : Thời gian phát sinh giao dịch cần tìm đến
Return : array <EntitySearchResult>
EntitySearchResult :
1 L_TIMESTAMP
2 L_TIMEZONE
3 L_TYPE
4 L_EMAIL
5 L_NAME
6 L_TRANSACTIONID
7 L_STATUS
9 L_CURRENCYCODE
10 L_FEEAMT
Trang 611 L_NETAMT
12 TIMESTAMP
13 CORRELATIONID
15 VERSION
16 BUILD
5 Sử dụng hàm Refuntransaction <hoàn trả lại một khoản tiền cho khách hàng> Tên hàm : RefundTransaction
Param : $TransactionID,$_refundType,$_Currency,$amount,$memo $TransactionID : Mã giao dịch cần refund
$_refundType : Kiểu refund <toàn bộ, hoặc một phần giá trị> $_Currendcy : Mã tiền tệ
Return : Arrayl