I am using PayPal Rest API, and I make PHP page that ask buyers shipping addresses and do payment.
So buyer inputs his shipping address before click 'Pay' button.
Here when doing payment, I want to compare this shipping address with buyer's PayPal shipping address. I know buyer has his shipping address in their PayPal account.
So is there any way to do this?
Maybe by getting buyer's shipping address from his email and comparing it with inputted shipping address?
Or any PayPal API option for comparing inputted shipping address with PayPal account's one?
This is my PHP Laravel code for PayPal work.
$payer = new Payer();
$payer->setPaymentMethod('paypal');
$item_1 = new Item();
$item_1->setName('Item 1') /** item name **/
->setCurrency('USD')
->setQuantity(1)
->setPrice(Input::get('amount')); /** unit price **/
$item_2 = new Item();
$item_2->setName('Item 2') /** item name **/
->setCurrency('USD')
->setQuantity(1)
->setPrice(20); /** unit price **/
$shipping_address = new ShippingAddress();
$shipping_address->setCity('San Jose');
$shipping_address->setCountryCode('US');
$shipping_address->setPostalCode('95132');
$shipping_address->setLine1('My St');
$shipping_address->setState('CA');
$shipping_address->setRecipientName('Recipient Name');
$billing_address = new Address();
$billing_address->setCity('San Jose');
$billing_address->setCountryCode('US');
$billing_address->setPostalCode('95132');
$billing_address->setLine1('My St2');
$billing_address->setState('CA');
$payer_info = new PayerInfo();
$payer_info->setBillingAddress($billing_address);
$payer_info->setEmail('a@2.com');
$payer->setPayerInfo($payer_info);
$item_list = new ItemList();
$item_list->setItems(array($item_1, $item_2));
$item_list->setShippingAddress($shipping_address);
$amount = new Amount();
$amount->setCurrency('USD')
->setTotal(Input::get('amount') + 20);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($item_list)
->setDescription('Your transaction description');
$payee_email = Input::get('payee');
if ($payee_email) {
$payee = new Payee();
$payee->setEmail($payee_email);
$transaction->setPayee($payee);
}
$redirect_urls = new RedirectUrls();
$redirect_urls->setReturnUrl(url('paypal/status')) /** Specify return URL **/
->setCancelUrl(url('paypal/status'));
$payment = new Payment();
$payment->setIntent('Sale')
->setPayer($payer)
->setRedirectUrls($redirect_urls)
->setTransactions(array($transaction));
try {
$payment->create(PaypalController::$_api_context);
} catch (\PayPal\Exception\PPConnectionException $ex) {
return json_decode($ex->getData());
return 'Error: ' . $ex->getMessage();
}
foreach ($payment->getLinks() as $link) {
if ($link->getRel() == 'approval_url') {
$redirect_url = $link->getHref();
break;
}
}
/** add payment ID to session **/
Session::put('paypal_payment_id', $payment->getId());
if (isset($redirect_url)) {
/** redirect to paypal **/
return Redirect::away($redirect_url);
}
return 'Unknown error occurred';
It is from PayPal sample code almost same as this link - http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/CreatePaymentUsingPayPal.html
How can I do this.
Thanks much to anyone help.