Integration of the PayPal interface: PHP integration of the PayPal standard payment Interface

Source: Internet
Author: User
1. On the checkout page of the website, set a form submitted to the PayPal website, which contains the amount, product name, merchant's collection account, and URL returned after successful checkout. 2, you can click the 'use PayPal checkout 'button to go To the PayPal Checkout page, enter your PayPal username and password, and confirm the payment.

1. On the checkout page of the website, set a form submitted to the PayPal website, which contains the amount, product name, merchant's collection account, and URL returned after successful checkout. 2, you can click the 'use PayPal checkout 'button to go To the PayPal Checkout page, enter your PayPal username and password, and confirm the payment.

1. On the checkout page of the website, set a form submitted to the PayPal website, which contains the amount, product name, merchant's collection account, and URL returned after successful checkout,

2. You can click the 'use PayPal checkout 'button to go To the PayPal Checkout page, enter your PayPal username and password, and confirm the payment.

3. PayPal determines which page of the website is returned based on whether the payment is successful, and initiates a post request to a page of the website in the background. This action is called IPN, tell the website the receipt of the payment. For example, completed indicates that the payment is complete.

4. The website can deliver the goods or other processing logic to the user after receiving the Alipay notification from PayPal.

Here is an illustration.

Simpler Flowchart

To complete the entire process, we only need two pages for processing.

  1. The checkout. php page is used to display information about the shopping cart and allows users to click the button to navigate to PayPal for payment.
  2. Notify. php this page is used to receive the IPN information of PayPal, determine whether the user's payment status is received, and process the business logic after the website receives the payment

Record the Code:

The checkout. php page can actually be HTML

Https://www.paypal.com/cgi-bin/webscr "method =" post ">
hidden" name="ev_csrf" value="9878824eb2cf4f1075dfa43c216d7cec">
hidden" name="cmd" value="_cart">
hidden" name="upload" value="1">
hidden" name="charset" value="utf-8">
hidden" name="currency_code" value="USD">
hidden" name="business" value=sales@test.com>
hidden" name="cancel_return" value=”http://www.test.com/checkout.html”>
hidden" name="return" value=”http://www.test.com/thanks.html”>
hidden" name="notify_url" value="http://www.test.com/notify.php">
hidden" name="custom" value="userid:31;ip:182.114.240.221">
hidden" name="item_number" value="ARO0101">
hidden" name="item_name" value="AD182m">
hidden" name="quantity" value="1">
hidden" name="amount" value="70">
submit" value="Checkout with PayPal">

This form contains some items that must be added for PayPal payment. Note that Alipay Y. php is called by PayPal in the background.
 

$ Req = 'cmd = _ policy-validate ';
Foreach ($ _ POST as $ key => $ value ){
$ Value = urlencode (stripslashes ($ value ));
$ Req. = "& $ key = $ value ";
}
// Post back to PayPal system to validate
$ Header. = "POST/cgi-bin/webscr HTTP/1.0 \ r \ n ";
$ Header. = "Content-Type: application/x-www-form-urlencoded \ r \ n ";
$ Header. = "Content-Length:". strlen ($ req). "\ r \ n ";
$ Fp = fsockopen ('ssl: // www.paypal.com ', 443, $ errno, $ errstr, 30 );
If (! $ Fp ){
// HTTP ERROR

} Else {// HTTP OK
Fputs ($ fp, $ header. $ req );
While (! Feof ($ fp )){
$ Res = fgets ($ fp, 1024 );
If (strcmp ($ res, "VERIFIED") = 0 ){

// Process business of website

}
Else if (strcmp ($ res, "INVALID") = 0 ){
// Log for manual investigation

}
}
Fclose ($ fp );
}

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.