Header ads

Header ads
» » Hướng dẫn tích hợp thanh toán PayPal , ngân lượng vào website bán hàng trực tuyến

Bước 1 : bạn download thư viện của PayPal và Ngân lượng  :
- ở đây mình đã download và nén lại một thư mục : bạn có thể down tại http://www.mediafire.com/?dhnghfhusew655a

Bước 2 : Tích hợp PayPal:
- Bạn giải nén thư mục model.rar vừa download về , thư viện PayPal gồm 4 file : 4 file là 4 các class thôi , bạn đặt vào đúng nơi cần đặt tức là nơi gọi class trong mã nguồn của bạn.
- Order.php
-Paypaldirectpayment.php
-PaypalExpressCheckout.php
-PaypalPaymentPro.php
- bạn mở file ProductController.php.
Bước 3 : Đăng ký tài khoản Sanbox của PayPal và Ngân lượng để text thử , Ngân lương các bạn có thể vào trang sanbox.nganluong.vn , PalPal thì các bạn vào trang deverlopment.paypal.com.
Bước 4 : Tích hợp:
1) PayPal:
-Trong file ProductController mình đã tích hợp sẵn những bạn náo giỏi PHP có thể xem là hiểu , còn không mình xin hướng dẫn sơ như sau
$conf['paypal']['url']                  = 'https://www.sandbox.paypal.com/cgi-bin/webscr'; //địa chỉ paypal
        $conf['paypal']['apiUsername']  = 'web_1341385779_biz_api1.gmail.com';// tài khoảng nhận
        $conf['paypal']['apiPassword']  = '1341385817'; //mật khẩu
        $conf['paypal']['apiSignature']  = 'Az6ayG.K.3HuHCueR9S.kvqpnCHfAe16U-lSdIR-GtxMjqcwR.YvI8jI'; //chữ ký
        $conf['paypal']['apiEndpoint']  = 'https://api-3t.sandbox.paypal.com/nvp';
        $paypal_order_temp = '';
        $myOrder = new Admin_Model_Order(); //gọi tới Class Order.php chú ý Class Order phải kế thừa từ 3 class còn lại
        $myOrder->create();
        $paypal_order_temp = $myOrder->invoiceId;
$price1 = round($price/20000,2); //giá sản phẩm mình chia cho 20000 vì PayPall không có tiền việt
     if($this->_request->isPost()){
     if($this->_request->getParam('thanhtoan')==1){ chọn phương thức là paypal tại ở đây mình chọn nhiều hình thức thanh toán nên set PayPal là 1
                $checker = new Admin_Model_PaypalExpressCheckout($conf['paypal']['apiUsername'], $conf['paypal']['apiPassword'], $conf['paypal']['apiSignature'], $conf['paypal']['apiEndpoint']);
                $checker->invoiceNum  = $myOrder->invoiceId;
                $checker->priceTotalItem  = $price1; //giá tiền
                $checker->priceShipping  = 0;
                $checker->priceTax  = 0;
                $checker->priceTotalAmount  = $price1;
                $checker->ipaddress  = $_SERVER['REMOTE_ADDR'];
                $checker->logoUrl = 'http://internship.edu.vn/ds.jpg'; logo
                $checker->returnUrl = 'http://internship.edu.vn/trainingstore/product/buy?return=1'; //địa chỉ web trả về khi thanh toán thành công
                $checker->cancelUrl = 'http://internship.edu.vn/trainingstore/product/buy'; //địa chỉ web trả về khi thanh toán thất bại
                for($i=0; $i < 1; $i++)
                {
                      // gửi thông tin lên cho paypal , bao gồm mã hóa đơn , số sản phẩm , giới thiệu , giá ..... các bước dưới là mặt định
                     $nvpStrItems = '&L_NAME'.$i.'='.($_SESSION['orderid']).'&L_NUMBER'.$i.'='.($i+1).'&L_DESC'.$i.'='.urlencode($user['company']).'&L_AMT'.$i.'='.urlencode($price1).'&L_QTY'.$i.'=1';
                     //$nvpStrItems = '&L_NAME'.$i.'='.(Tên Sản phẩm).'&L_NUMBER'.$i.'='.(số lượng sản phẩm).'&L_DESC'.$i.'='.urlencode(giới thiệu sản phẩm).'&L_AMT'.$i.'='.urlencode(giá).'&L_QTY'.$i.'=1';
                }
                $httpParsedResponseAr = '';
                $checker->nvpStrItems = $nvpStrItems; 
     if($checker ->setexpress())
                {
                    $paypalUrl = $conf['paypal']['url'] . '?cmd=_express-checkout&token=' . urldecode($checker->httpResponseArray['TOKEN']) . '&useraction=commit';
                    $this->_redirect($paypalUrl);
                }
                else
                {
                     exit('SetExpressCheckout failed: ' . print_r($httpParsedResponseAr, true));
                     $this->_redirect($checker->cancelUrl);
                }
     }
//tới bước nay thì PayPal đã nhận được thông tin thanh toán , khi thanh toán thành công sẽ trả về trang mà bạn cài đặt
//mình trả về trang như trên với biến return =1 , nếu bằng 1 mới xử lý tiếp
bước này để xác nhận lại thông tin sản phẩm là chính xác , bạn cấu hình như trên , nếu khác thanh toán thất bại
if(isset($_GET['return'])){
                    if($_GET['return'] == 1){
                        $checker = new Admin_Model_PaypalExpressCheckout($conf['paypal']['apiUsername'], $conf['paypal']['apiPassword'], $conf['paypal']['apiSignature'], $conf['paypal']['apiEndpoint']);
                                    $checker->invoiceNum  = $paypal_order_temp;
                                    $checker->priceTotalItem  = $price1;
                                    $checker->priceShipping  = 0;
                                    $checker->priceTax  = 0;
                                    $checker->priceTotalAmount  = $price1;
                                    $checker->ipaddress  = $_SERVER['REMOTE_ADDR'];
                                    for($i=0; $i < 1; $i++)
                                    {
                                             $nvpStrItems = '&L_NAME'.$i.'='.($_SESSION['orderid']).'&L_NUMBER'.$i.'='.($i+1).'&L_DESC'.$i.'='.urlencode($user['company']).'&L_AMT'.$i.'='.urlencode($price1).'&L_QTY'.$i.'=1';
                                    }
                        $checker->nvpStrItems = $nvpStrItems; 
                        $checker -> payerId = $_GET['PayerID'];
                        $checker -> token = $_GET['token'];
                        $validate = $checker ->checkout();
                    }
                // khai báo biến vailidate , nếu vailidate = true thì hoàn thành thanh toán , bạn xử lý tiếp theo
                    if($validate){
                       $user = $_SESSION['Zend_Auth']['storage']->id;
                       if($user == null || $user == '') $user = $_SESSION['usernameid'];
                      $orderid = $_SESSION['orderid'];
                       $date = date('d').'/'.date('m').'/'.date('Y');
                       $insert = new Admin_Model_User();
                       $this->view->temp = $validate;
                    }

About Học viện đào tạo trực tuyến

Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
- Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
- Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
«
Next
Bài đăng Mới hơn
»
Previous
Bài đăng Cũ hơn