Home >Backend Development >PHP Tutorial >Online payments using PHP and PayPal
With the rapid development of the Internet, more and more companies choose to sell products and services online, which makes online payment a major need for companies. As the world's leading online payment platform, PayPal has also become the first choice for many companies.
This article will introduce how to use PHP and PayPal to implement online payment. We will divide it into the following steps:
To use PayPal to pay, we need to create a PayPal account and application. The following are the steps to create an application through the PayPal Developer Center:
1.1. Log in to the PayPal Developer Center
First, we need to log in to the PayPal Developer Center (https://developer.paypal.com/).
1.2. Create an application
After entering the Developer Center, we need to create a new application on the "My Applications and Credentials" page. Click the "Create App" button, enter the app name and select the account type (Test or Production).
1.3. Obtain Client ID and Secret
After successful creation, we can find the Client ID and Secret in the application details page. These two values are what we will need to use when communicating with PayPal in the future. Please keep them in a safe place.
To use PayPal in a PHP application, we can use the PHP SDK officially provided by PayPal. We can integrate this into our application through Composer.
The following are the steps to add PayPal SDK in Composer:
2.1. Create Composer.json file
In the PHP application directory, we need to create a Composer.json file so that Composer knows which packages we want to add to the application. Add the following content in Composer.json:
{
"require": { "paypal/rest-api-sdk-php": "*" }
}
2.2. Run Composer
Open the terminal, enter the application directory, and run the following command:
composer install
This will install all the packages we specified in the Composer.json file, including the PayPal SDK.
Before processing online payment, we need to obtain a payment Token. This Token will be used to send payment requests to PayPal.
The following are the steps to obtain payment Token:
3.1. Set SDK parameters
In our PHP application, we need to set the basic parameters of PayPal SDK, including Client ID and Secret and other information. The specific content is as follows:
use PayPalRestApiContext;
use PayPalAuthOAuthTokenCredential;
$clientId = 'Your Client ID';
$clientSecret = 'Your Secret';
$apiContext = new ApiContext(
new OAuthTokenCredential( $clientId, $clientSecret )
);
3.2. Create a payment request
Next, we need to create a payment request. Include information such as payment total and currency type in the request.
The following is the code for the payment request:
use PayPalApiPayer;
use PayPalApiAmount;
use PayPalApiTransaction;
use PayPalApiRedirectUrls;
use PayPalApiPayment;
$payer = new Payer();
$payer->setPaymentMethod('paypal');
$amount = new Amount();
$amount->setTotal(' 10.00')
->setCurrency('USD');
$transaction = new Transaction();
$transaction->setAmount($amount)
->setDescription('付款描述');
$redirectUrls = new RedirectUrls();
$ redirectUrls->setReturnUrl('http://www.yourwebsite.com/success')
->setCancelUrl('http://www.yourwebsite.com/cancel');
$payment = new Payment();
$payment->setIntent('sale')
->setPayer($payer) ->setRedirectUrls($redirectUrls) ->setTransactions(array($transaction));
3.3. Obtain the payment token
Finally, we need to use the payment request and API context to send a request to PayPal to obtain the payment token.
The following is the code to obtain the payment Token:
try {
$payment->create($apiContext); $approvalUrl = $payment->getApprovalLink();
} catch (Exception $ex) {
echo $ex->getMessage();
}
Once we have the payment token, we can use it to process the payment. That is, redirect the payment link to the user to allow them to pay for the order on PayPal.
The following are the steps to process a payment:
4.1. Redirect the user to PayPal
We can directly redirect the user to the obtained payment link to initiate the payment process.
The following is the code to redirect the user:
header("Location: $approvalUrl");
4.2. The user completes the payment
When the user completes the payment, PayPal will redirect the user back to the return URL we specify.
Once the user completes the payment, PayPal sends a payment confirmation to our application so that we can update the order status and inventory.
Here are the steps for processing payment confirmation:
5.1. Processing payment confirmation
We can confirm the payment by getting the payment ID and sending a request to PayPal. The payment ID is generated by PayPal when the user makes a payment.
The following is the code to handle payment confirmation:
use PayPalApiPayment;
$paymentId = $_GET['paymentId'];
$payment = Payment::get ($paymentId, $apiContext);
5.2. Update order status and inventory
Once we confirm the payment, we can update the order status and goods inventory. Here we can do things like reduce the number of products.
If all goes well, then we have successfully implemented online payment using PHP and PayPal. Although this is only part of the process, we have seen how to use PHP and the PayPal SDK to obtain payment tokens, process payments, and handle payment confirmations. If your products and services are sold online, using PayPal as your online payment platform would be a very good choice.
The above is the detailed content of Online payments using PHP and PayPal. For more information, please follow other related articles on the PHP Chinese website!