Opas PayPalin integrointiin verkkosivustoosi PHP: ssä
PayPal on epäilemättä yksi suosituimmista verkkosivustojen maksuyhdyskäytävistä. Suurin osa verkkosivustoista käyttää PayPalia maksujen vastaanottamiseen sovelluksestaan. Tässä artikkelissa tutkitaan PayPalin integrointia web-sovellukseen PHP: ssä.
Miksi valita PayPal?
Tilin luominen PayPaliin on täysin ilmaista. Sinun ei tarvitse maksaa mitään etukäteen. PayPal veloittaa sinua tapahtumakohtaisesti.
Maksutapahtumien suorittamisen aikana PayPal käyttää Secure Socket Layers (SSL) -salausta. Tämä suojaa asiakkaasi henkilökohtaisia ja luottamuksellisia tietoja. Tämän vuoksi asiakkaasi tuntevat olonsa turvalliseksi suorittaessaan maksua verkkosovelluksen kautta.
PayPal mahdollistaa myös maksamisen PayPalin saldo-, luotto- tai maksukortilla. Se lisää asiakkaalle useita vaihtoehtoja maksaa palvelustasi.
Voit hyväksyä maksun luottokortilla myös käyttämällä Authorize.net- palvelua. Jos haluat oppia lisää Authorize.net-palvelusta, seuraa opetusohjelmaamme Hyväksy luottokorttimaksu Authorize.net-maksuyhdyskäytävän avulla PHP: ssä.
PayPal-integraatio
Kun puhumme PHP-pohjaisesta verkkosivustosta, käytämme PayPalin virallista GiHub-kirjastoa. Tämä kirjasto on tarkoitettu PHP-sovelluksiin.
Suosittelemme, että kirjaston asennukseen käytetään Composeria.
Joten integroitaksesi PayPal verkkosivustoon, suorita ensin seuraava komento projektin juurihakemistossa.
composer require "paypal/rest-api-sdk-php:*"
Hanki asiakastunnus ja asiakassalaisuus
Kun asiakas maksaa PayPalin kautta, summa on talletettava PayPal-tilillesi. Tätä varten meidän on hankittava asiakastunnuksesi ja asiakassalaisuutesi. Voit luoda tunnuksesi täältä.
Selaa tällä Omat sovellukset ja kirjautumistiedot -sivulla alaspäin kohtaan "Rest API -sovellukset” ja napsauta Luo sovellus -painiketta.
Anna nimi sovelluksellesi ja paina Luo sovellus -painiketta.
Edellä mainittujen vaiheiden jälkeen saat tunnistetiedot sekä Sandbox- että Live-tilaan.
Nyt olemme valmiit asiakastunnuksellamme ja asiakkaan salaisilla avaimilla. Mennään askel eteenpäin ja kirjoitetaan pala koodia.
Todellinen koodi PayPal-integraatioon
Tässä vaiheessa olemme valmiita kirjastoon ja tunnistetietoihin. Integroimme nyt PayPalin verkkosivustoon luomalla 4 tiedostoa:
checkout.php
: Tässä tiedostossa on lomake, joka sisältää nimikkeen ja määrän.
payment.php
: Tämä on tiedosto, johon kirjoitamme kaikki PayPaliin liittyvät koodit.
success.php
: Kun maksu on suoritettu, asiakas ohjaa tähän tiedostoon.
error.php
: Jos maksu epäonnistuu, asiakas ohjaa uudelleen tähän tiedostoon.
checkout.php
<form action="payment.php" method="post">
<input type="text" name="item" placeholder="Enter Item Name">
<input type="text" name="amount" placeholder="Enter Amount">
<input type="submit" name="submit" value="Pay">
</form>
payment.php
<?php
require_once 'vendor/autoload.php';
use PayPalApiItem;
use PayPalApiItemList;
$apiContext = new PayPalRestApiContext(
new PayPalAuthOAuthTokenCredential(
'YOUR_CLIENT_ID', // ClientID
'YOUR_CLIENT_SECRET' // ClientSecret
)
);
$apiContext->setConfig(
array(
'log.LogEnabled' => true,
'log.FileName' => 'PayPal.log',
'log.LogLevel' => 'DEBUG',
'mode' => 'sandbox', //'live' or 'sandbox'
)
);
$payer = new PayPalApiPayer();
$payer->setPaymentMethod('paypal');
$item1 = new Item();
$item1->setName($_POST['item'])
->setCurrency('USD')
->setQuantity(1)
->setPrice($_POST['amount']);
$itemList = new ItemList();
$itemList->setItems(array($item1));
$amount = new PayPalApiAmount();
$amount->setTotal($_POST['amount']);
$amount->setCurrency('USD');
$transaction = new PayPalApiTransaction();
$transaction->setDescription("Payment For Service")
->setItemList($itemList)
->setAmount($amount);
$redirectUrls = new PayPalApiRedirectUrls();
$redirectUrls->setReturnUrl("YOUR_HTTP_PATH/success.php")
->setCancelUrl("YOUR_HTTP_PATH/error.php");
$payment = new PayPalApiPayment();
$payment->setIntent('sale')
->setPayer($payer)
->setTransactions(array($transaction))
->setRedirectUrls($redirectUrls);
// 4. Make a Create Call
try {
$payment->create($apiContext);
header('Location: '. $payment->getApprovalLink());
}
catch (PayPalExceptionPayPalConnectionException $ex) {
// This will print the detailed information on the exception.
//REALLY HELPFUL FOR DEBUGGING
echo $ex->getData();
}
?>
Muista korvata paikkamerkit todellisilla arvoilla. Edellä olevassa koodissa asetamme ‘mode’ -arvoksi ‘sandbox’. Kun siirryt tuotantoon, tee tästä arvosta ‘live’ ja lisää live-asiakastunnuksesi ja asiakassalaisuutesi.
Kun maksuprosessi on suoritettu PayPalin kautta, se ohjaa onnistumisen tai epäonnistumisen perusteella joko success.php- tai error.php-tiedostoon.
menestys.php
<h2>Payment Successful.</h2>
error.php
<h2>Something went wrong. Try again later.</h2>
Toivomme ymmärtävänne PayPalin integroinnin verkkosovellukseen. Jaa ajatuksesi alla olevassa kommenttiosassa.