Hướng dẫn how do i get paypal response in php? - làm cách nào để nhận được phản hồi paypal trong php?

Đây là một hướng dẫn để tích hợp paypal trong PHP.

Nếu bạn đang sử dụng nền tảng Thương mại điện tử dựa trên PHP, thì bạn có thể làm theo hướng dẫn này để thực hiện thanh toán PayPal trên cửa hàng của mình.

  • Paypal là gì?
  • Paypal hoạt động như thế nào?
  • Các thuật ngữ cơ bản nạc
  • Tích hợp PayPal trong Php từng bước
  • Kiểm tra

Paypal là gì?

PayPal là một cổng thanh toán phổ biến cung cấp xử lý thanh toán an toàn và dễ sử dụng trên toàn cầu. & NBSP;

Một khách hàng có thể thêm tài khoản ngân hàng, thẻ ghi nợ hoặc thẻ tín dụng của mình và bắt đầu với PayPal. & NBSP; Hiện tại, 286 triệu người dùng đang sử dụng và gần 87,5% người mua trực tuyến thực hiện thanh toán bằng PayPal.

Vì vậy, có PayPal trên trang web của bạn là một trong những gợi ý chúng tôi đưa ra cho khách hàng của mình ..

Các tính năng tốt nhất mà PayPal cung cấp bao gồm: & NBSP;

  • Thẻ tín dụng, thẻ ghi nợ
  • Tạo hóa đơn trực tuyến
  • Tài khoản người mua và người bán
  • Xe đẩy
  • Ứng dụng di động
  • Chuyển tiền quốc tế

Paypal hoạt động như thế nào?

Các thuật ngữ cơ bản nạc

Tích hợp PayPal trong Php từng bước

Hướng dẫn how do i get paypal response in php? - làm cách nào để nhận được phản hồi paypal trong php?

Kiểm tra

Paypal là gì?

PayPal là một cổng thanh toán phổ biến cung cấp xử lý thanh toán an toàn và dễ sử dụng trên toàn cầu. & NBSP;

Một khách hàng có thể thêm tài khoản ngân hàng, thẻ ghi nợ hoặc thẻ tín dụng của mình và bắt đầu với PayPal. & NBSP; Hiện tại, 286 triệu người dùng đang sử dụng và gần 87,5% người mua trực tuyến thực hiện thanh toán bằng PayPal.

Vì vậy, có PayPal trên trang web của bạn là một trong những gợi ý chúng tôi đưa ra cho khách hàng của mình ..

Các tính năng tốt nhất mà PayPal cung cấp bao gồm: & NBSP; Instant Payment Notification (IPN) is a notification service that automatically sends the notification of any event related to PayPal transactions to merchants. eCommerce store owners can use it in many ways, such as fulfilling orders automatically and providing customers with order status.

Thẻ tín dụng, thẻ ghi nợA form on your site will send the values such as customer name/email address to PayPal.

Tạo hóa đơn trực tuyếnThe payment.php page on your website is that page that will handle all the outgoing requests to the PayPal, and the incoming request coming from PayPal.

Tích hợp PayPal trong Php từng bước

Kiểm tra

Paypal là gì?

Hướng dẫn how do i get paypal response in php? - làm cách nào để nhận được phản hồi paypal trong php?

PayPal là một cổng thanh toán phổ biến cung cấp xử lý thanh toán an toàn và dễ sử dụng trên toàn cầu. & NBSP;

Một khách hàng có thể thêm tài khoản ngân hàng, thẻ ghi nợ hoặc thẻ tín dụng của mình và bắt đầu với PayPal. & NBSP; Hiện tại, 286 triệu người dùng đang sử dụng và gần 87,5% người mua trực tuyến thực hiện thanh toán bằng PayPal.

Vì vậy, có PayPal trên trang web của bạn là một trong những gợi ý chúng tôi đưa ra cho khách hàng của mình ..

  • Các tính năng tốt nhất mà PayPal cung cấp bao gồm: & NBSP;
  • Thẻ tín dụng, thẻ ghi nợ
  • Tạo hóa đơn trực tuyến

Vì vậy, có PayPal trên trang web của bạn là một trong những gợi ý chúng tôi đưa ra cho khách hàng của mình ..

  • Các tính năng tốt nhất mà PayPal cung cấp bao gồm: & NBSP;
  • Thẻ tín dụng, thẻ ghi nợ

Tạo hóa đơn trực tuyến

  • Tài khoản người mua và người bán

Xe đẩy

Ứng dụng di động

Chuyển tiền quốc tế





    
    
    
    Paypal Integration Test



    

Sử dụng PayPal cho các giao dịch và mua sắm trực tuyến là an toàn. Nếu người dùng đã có tài khoản trên PayPal, thì anh ta có thể nhanh chóng kiểm tra.

Anh ta phải đăng nhập vào tài khoản và sau đó xác nhận số tiền. Sau khi chọn ngân hàng/thẻ, thanh toán sẽ được thực hiện chỉ bằng một cú nhấp chuột.

Nó là dễ dàng cho khách hàng.

Người bán phải thiết lập PayPal trong cửa hàng. Và nếu đó là một sản phẩm phần mềm và yêu cầu thanh toán định kỳ, bạn phải thực hiện tích hợp paypal trong PHP.

  • Trong hướng dẫn này, tôi sẽ cho bạn biết cách tích hợp PayPal trong PHP và cuối cùng, bạn sẽ có thể tích hợp PayPal vào cửa hàng của mình.
  • Điều khoản cơ bản
  • Dưới đây là một vài thuật ngữ cơ bản bạn cần biết trước khi đọc hướng dẫn.
  • Quy trình thông báo tức thì: Thông báo thanh toán tức thì (IPN) là dịch vụ thông báo tự động gửi thông báo về bất kỳ sự kiện nào liên quan đến giao dịch PayPal cho thương nhân. Chủ cửa hàng thương mại điện tử có thể sử dụng nó theo nhiều cách, chẳng hạn như tự động hoàn thành đơn đặt hàng và cung cấp cho khách hàng trạng thái đơn hàng.
  • Biểu mẫu thanh toán: Một biểu mẫu trên trang web của bạn sẽ gửi các giá trị như tên khách hàng/địa chỉ email đến PayPal.
  • Trang payal.php: Trang thanh toán.php trên trang web của bạn là trang đó sẽ xử lý tất cả các yêu cầu gửi đến PayPal và yêu cầu đến từ PayPal.
  • Bước 1 - Thiết lập tài khoản PayPal
  • Bước đầu tiên là đăng ký tài khoản PayPal. Chuyển đến PayPal và nhấp vào đăng ký.
 // For test payments we want to enable the sandbox mode. If you want to put live
// payments through then this setting needs changing to `false`.
$enableSandbox = true;

// Database settings. Change these for your database configuration.
$dbConfig = [
    'host' => 'localhost',
    'username' => 'user',
    'password' => 'secret',
    'name' => 'example_database'
];

// PayPal settings. Change these to your account details and the relevant URLs
// for your site.
$paypalConfig = [
    'email' => '[email protected]',
    'return_url' => 'http://example.com/payment-successful.html',
    'cancel_url' => 'http://example.com/payment-cancelled.html',
    'notify_url' => 'http://example.com/payments.php'
];

$paypalUrl = $enableSandbox ? 'https://www.sandbox.paypal.com/cgi-bin/webscr' : 'https://www.paypal.com/cgi-bin/webscr';

// Product being purchased.
$itemName = 'Test Item';
$itemAmount = 5.00;

// Include Functions
require 'functions.php';

// Check if paypal request or response
if (!isset($_POST["txn_id"]) && !isset($_POST["txn_type"])) {

    // Grab the post data so that we can set up the query string for PayPal.
    // Ideally we'd use a whitelist here to check nothing is being injected into
    // our post data.
    $data = [];
    foreach ($_POST as $key => $value) {
        $data[$key] = stripslashes($value);
    }

    // Set the PayPal account.
    $data['business'] = $paypalConfig['email'];

    // Set the PayPal return addresses.
    $data['return'] = stripslashes($paypalConfig['return_url']);
    $data['cancel_return'] = stripslashes($paypalConfig['cancel_url']);
    $data['notify_url'] = stripslashes($paypalConfig['notify_url']);

    // Set the details about the product being purchased, including the amount
    // and currency so that these aren't overridden by the form data.
    $data['item_name'] = $itemName;
    $data['amount'] = $itemAmount;
    $data['currency_code'] = 'GBP';

    // Add any custom fields for the query string.
    //$data['custom'] = USERID;

    // Build the query string from the data.
    $queryString = http_build_query($data);

    // Redirect to paypal IPN
    header('location:' . $paypalUrl . '?' . $queryString);
    exit();

} else {
    // Handle the PayPal response.
}

Bạn phải mở tài khoản doanh nghiệp để có thể truy cập IPN. Sau khi thiết lập tài khoản PayPal đúng cách, bạn sẽ có thể truy cập IPN.

Truy cập vào Chỉnh sửa hồ sơ Chỉnh sửa Tùy chọn của tài khoản PayPal của bạn và tìm các cài đặt sau:

Điều hướng đến các tùy chọn bán hàng của tôi và tìm thấy rủi ro được trả tiền và quản lý.


// Handle the PayPal response.

// Create a connection to the database.
$db = new mysqli($dbConfig['host'], $dbConfig['username'], $dbConfig['password'], $dbConfig['name']);

// Assign posted variables to local data array.
$data = [
    'item_name' => $_POST['item_name'],
    'item_number' => $_POST['item_number'],
    'payment_status' => $_POST['payment_status'],
    'payment_amount' => $_POST['mc_gross'],
    'payment_currency' => $_POST['mc_currency'],
    'txn_id' => $_POST['txn_id'],
    'receiver_email' => $_POST['receiver_email'],
    'payer_email' => $_POST['payer_email'],
    'custom' => $_POST['custom'],
];

// We need to verify the transaction comes from PayPal and check we've not
// already processed the transaction before adding the payment to our
// database.
if (verifyTransaction($_POST) && checkTxnid($data['txn_id'])) {
    if (addPayment($data) !== false) {
        // Payment successfully added.
    }
}

Mở quy trình thông báo thanh toán tức thì

Nếu phản hồi là như nhau, chúng tôi sẽ nhận được thông báo đã được xác minh và chúng tôi sẽ biết rằng mọi thứ đều ổn. Sau đó thanh toán sẽ được thêm vào cơ sở dữ liệu.

Chức năng xác minh:


function verifyTransaction($data) {
    global $paypalUrl;

    $req = 'cmd=_notify-validate';
    foreach ($data as $key => $value) {
        $value = urlencode(stripslashes($value));
        $value = preg_replace('/(.*[^%^0^D])(%0A)(.*)/i', '${1}%0D%0A${3}', $value); // IPN fix
        $req .= "&$key=$value";
    }

    $ch = curl_init($paypalUrl);
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
    curl_setopt($ch, CURLOPT_SSLVERSION, 6);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));
    $res = curl_exec($ch);

    if (!$res) {
        $errno = curl_errno($ch);
        $errstr = curl_error($ch);
        curl_close($ch);
        throw new Exception("cURL error: [$errno] $errstr");
    }

    $info = curl_getinfo($ch);

    // Check the http response
    $httpCode = $info['http_code'];
    if ($httpCode != 200) {
        throw new Exception("PayPal responded with http code $httpCode");
    }
    curl_close($ch);

    return $res === 'VERIFIED';
}

Chúng tôi cũng có thể gọi đến Checktxnid. Mục đích của chức năng rất đơn giản; Nó kiểm tra xem giá trị TXN_ID từ PayPal đã tồn tại trong cơ sở dữ liệu của chúng tôi.

Sau khi xác minh thanh toán, nên gọi chức năng này và kiểm tra xem bạn đã thêm giao dịch vào cơ sở dữ liệu.

Chức năng TXN_ID:


function checkTxnid($txnid) {
    global $db;

    $txnid = $db->real_escape_string($txnid);
    $results = $db->query('SELECT * FROM `payments` WHERE txnid = \'' . $txnid . '\'');

    return ! $results->num_rows;
}

Ở đây, bạn có thể thêm bao nhiêu kiểm tra tùy thích. Đây là cơ hội để xác minh các khía cạnh khác nhau của thanh toán. & NBSP;

Bước 5 - Thêm thanh toán

Bước cuối cùng sau khi xác minh thanh toán, thực hiện kiểm tra bổ sung là thêm thanh toán vào cơ sở dữ liệu.

Chúng tôi sẽ tạo một bảng thanh toán để lưu trữ các chi tiết thanh toán trong hệ thống cơ sở dữ liệu. & NBSP;

Dưới đây là mã để tạo bảng thanh toán trong MySQL:


CREATE TABLE IF NOT EXISTS `payments` (
    `id` int(6) NOT NULL AUTO_INCREMENT,
    `txnid` varchar(20) NOT NULL,
    `payment_amount` decimal(7,2) NOT NULL,
    `payment_status` varchar(25) NOT NULL,
    `itemid` varchar(25) NOT NULL,
    `createdtime` datetime NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Sau đó, chúng tôi phải đặt chức năng để gọi thêm thanh toán.

Đây là chức năng để thực hiện nhiệm vụ này:


function addPayment($data) {
    global $db;

    if (is_array($data)) {
        $stmt = $db->prepare('INSERT INTO `payments` (txnid, payment_amount, payment_status, itemid, createdtime) VALUES(?, ?, ?, ?, ?)');
        $stmt->bind_param(
            'sdsss',
            $data['txn_id'],
            $data['payment_amount'],
            $data['payment_status'],
            $data['item_number'],
            date('Y-m-d H:i:s')
        );
        $stmt->execute();
        $stmt->close();

        return $db->insert_id;
    }

    return false;
}

Kiểm tra

Cuối cùng, chúng tôi sẽ kiểm tra xem việc tích hợp có được thực hiện chính xác và hoạt động chính xác không. & NBSP;

Hộp cát PayPal tương tự như PayPal và cung cấp tất cả các chức năng của PayPal. Nhưng thay vì sử dụng các thuộc tính thực, bạn có thể sử dụng các thuộc tính giả trong hộp cát. & NBSP;

Bạn có thể tạo tài khoản giả mạo của người mua và người bán. Đặt trang web phát triển và kiểm tra tích hợp paypal thông qua giai đoạn.

Tạo tài khoản Sandbox là miễn phí và nó có thể được thực hiện từ trang web PayPal Developer.

Mã được cung cấp trong bài được tối ưu hóa cho hộp cát. URL trong yêu cầu là www.sandbox.paypal.com. & NBSP;

Bạn phải thay đổi giá trị của $ enableDandbox từ đúng thành false. Điều này sẽ cập nhật các URL PayPal trong mã hóa.

Cũng đọc:

  • Làm thế nào để vô hiệu hóa thực thi PHP trong các thư mục WordPress?
  • Biên tập viên PHP tốt nhất và PHP IDE để phát triển vào năm 2022
  • Top 12 nền tảng thương mại điện tử nguồn mở dựa trên PHP

Từ cuối cùng

Quá trình này rất khó nếu bạn không biết mã hóa và PHP. Nhưng đối với các nhà phát triển, nó không phức tạp.

Tuy nhiên, nếu bạn đang sử dụng WordPress hoặc Magento, bạn nên sử dụng plugin hoặc tiện ích mở rộng. & NBSP;

Trong hướng dẫn này, bạn đã tìm hiểu về cách bạn có thể tích hợp PayPal trong từng bước PHP. Đây là hướng dẫn cơ bản.

Tuy nhiên, nếu có bất kỳ nghi ngờ hoặc vấn đề nào, bạn có thể để nó trong phần bình luận.

*Bạn có thể tìm thấy mã nguồn trên github này

Làm cách nào để tích hợp paypal vào trang web của tôi?

Các nút HTML PayPal - chỉ cần đăng nhập vào trang web PayPal để tạo và tùy chọn tùy chỉnh nút thanh toán. Sao chép và dán đoạn mã HTML của nút thanh toán vào trang web của bạn. Sử dụng tùy chọn này nếu HTML hoặc kỹ năng lập trình web của bạn bị hạn chế và bạn chỉ bán một vài sản phẩm trên trang web của mình.log in to the PayPal website to create, and optionally customize, a payment button. Then copy and paste the payment button's HTML code snippet to your website. Use this option if your HTML or web programming skills are limited and you sell only a few products on your site.

Có API PayPal không?

PayPal cung cấp API nhận dạng thương mại an toàn cho phép khách hàng của bạn đăng nhập vào trang web của bạn bằng thông tin đăng nhập PayPal của họ. Thông báo thanh toán tức thì là một dịch vụ tin nhắn tự động thông báo cho các thương nhân của các sự kiện liên quan đến giao dịch PayPal. that lets your customers log in to your website using their PayPal credentials. Instant Payment Notification is a message service that automatically notifies merchants of events related to PayPal transactions.

Làm cách nào để thêm cổng thanh toán trong PHP?

Cách tích hợp cổng thanh toán với cửa hàng trực tuyến của bạn bằng PHP..
Bước 1: Tạo biểu mẫu HTML để thu thập thông tin nguồn thanh toán của khách hàng.....
Bước 2: Tạo mã thông báo để truyền dữ liệu được mã hóa một cách an toàn.....
Bước 3: Cho phép gửi biểu mẫu cùng với thông tin thanh toán.....
Bước 4: Xác minh và xác nhận các khoản phí ..

Làm cách nào để thực hiện thanh toán kiểm tra PayPal?

Để bắt đầu thanh toán thử nghiệm của bạn, hãy điền vào biểu mẫu với email kiểm tra cá nhân được liệt kê trong tài khoản nhà phát triển PayPal của bạn.Sau khi bạn gửi biểu mẫu, bạn sẽ được chuyển hướng đến trang web của PayPal.Tại đây, bạn sẽ cần đăng nhập bằng cách sử dụng cùng một email kiểm tra cá nhân mà bạn đã nhập vào biểu mẫu cũng như mật khẩu bạn đã tạo cho nó sớm hơn.fill out the form with the Personal test email listed in your PayPal Developer account. After you submit the form, you'll be redirected to PayPal's site. Here, you'll need to log in using the same Personal test email you entered in the form as well as the password you created for it earlier.