Có lẽ mọi người đều không xa lạ với hệ thống thanh toán Paypal. Nhiều dịch vụ thanh toán quốc tế chấp nhận thanh toán qua Paypal, nó gần như là 1 phương thức thanh toán được thế giới chấp nhận. Việc tích hợp thanh toán để mua bán vào web là điều mọi người đều làm. Ở đây mình cùng các bạn tìm hiểu về việc sử dụng Paypal để thực hiện các công việc thanh toán:
Nạp tiền bằng thẻ thanh toán quốc tế.Thanh toán từ người dùng paypal.
Đang xem: Tích hợp thanh toán paypal vào website php
Đăng ký tài khoản develop
Cũng như làm việc với Facebook hay Google, thì để làm việc với Paypal thì cũng cần có tạo các App khác nhau để tạo ra các Key và Secret. Ngoài ra vì đây làm việc liên quan đến tiền vì thế rất cần các tài khoản Sandbox để có thể test việc sử dụng Api nó như thế nào.Khi có tài khoản Paypal ta có thể vào đây để đăng nhập vào develop của Paypal. Sau khi đăng nhập xong thì ta để ý menu bên trái như sau

Ta vào phần Sandbox > Account.Thường ở đây có sẵn 2 tài khoản nhưng theo kinh nghiệm bản thân thì bạn k nên dùng 2 tài khoản này, vì mình từng thử các API mà nó ko chạy khi sử dụng thông tin của 2 tài khoản này. Do vậy ta cần tạo tài khoản khác. Khi vào màn hình tạo tài khoản sẽ như sau

Lúc tạo tài khoản thì ở đây sẽ có 2 loại tài khoản: đó là Personal và Business. Hiểu nôm na là người mua và người bán.

Thực hiện giao dịch bằng thẻ Tín dụng
Để thực hiện giao dịch bằng thẻ tín dụng ta dùng phương thức DoDirectPayment của Paypal. Các thông số setup bao gồm:Endpoint là https://api-3t.sandbox.paypal.com/nvpUser: (lấy ở trên)Pass: (Lấy ở trên)Signature: (Lấy ở trên)Với mỗi tài khoản Personal đều có thông tin mã thẻ tín dụng để test.Vậy để các param để gửi đi sẽ là:
$curl = curl_init(); curl_setopt($curl, CURLOPT_VERBOSE, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_TIMEOUT, 30); curl_setopt($curl, CURLOPT_URL, $api_endpoint); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $nvp_string); // những thông tin trên được gửi qua Paypal và tôi sẽ nhận được phản hồi trong biến $result $result = curl_exec($curl); curl_close($curl);Và kết quả ta có được là:

Và để kiểm tra kết quả tiền thì ta có thể đăng nhập tài khoản sandbox từ link này để xem lịch sử giao dịch.
Xem thêm: Bà Đẻ Có Được Ăn Măng Không, Cho Con Bú ÄN MäNg ÄÆ°Á»£C Không
Giao dịch nhận tiền từ tài khoản Paypal người khác vào
Phương thức thanh toán ở đây ta dùng là AdaptivePayments. Trình tự thanh toán của nó sẽ như sau:
Đầu tiên ta chạy API điền các thông số, sau đó sẽ trả về 1 paykey.Sau khi chấp nhận giao dịch thì paypal se redirect về link đã setup từ trước.
Xem thêm: Tự Học Php Cơ Bản – Học Lập Trình Php Căn Bản
Gửi API đến Paypal
Như phần nhận tiền từ thẻ tín dụng thì ta cần các thông số setup như sauEndpoint là https://svcs.sandbox.paypal.com/AdaptivePayments/PayUser: (lấy ở phần bussiness info)Pass: (lấy ở phần bussiness info)Signature: (lấy ở phần bussiness info)Và param sẽ như sau
$request_params = < "actionType" => “PAY”, “currencyCode” => “USD”, “receiverList” => < "receiver" => < < "amount" => “10.00”, “email” => “
$curl = curl_init(); curl_setopt($curl, CURLOPT_VERBOSE, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_TIMEOUT, 30); curl_setopt($curl, CURLOPT_URL, $api_endpoint); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HTTPHEADER, $headerParams); curl_setopt($curl, CURLOPT_POSTFIELDS, $params); // những thông tin trên được gửi qua Paypal và tôi sẽ nhận được phản hồi trong biến $result $result = curl_exec($curl); curl_close($curl);Và kết quả trả về như sau

Xác thực thanh toán
Như ta đã nói ở trên, sau khi có Paykey thì ta cần vào linkhttps://www.sandbox.paypal.com/webscr?cmd=_ap-payment&paykey=AP-0R408975WV7261848để xác thực, nếu chấp nhận thanh toán thì Paypal sẽ redirect về link đã khai báo trong param.### Xác định trạng thái của Paykey ###Để biết thành quả của giao dịch thì Paypal có cung cấp API cho việc xác định trạng thái của Paykey là PaymentDetailshttps://svcs.sandbox.paypal.com/AdaptivePayments/PaymentDetails
Kêt luận
Trong bài viết là những giao dịch cơ bản. Ngoài ra paypal có cung cấp sẵn các thư viện ngoài cho Php còn có cho lập trình Android, iOs. Các bạn có thể tham khảo trên link github của paypal.