I checked the data return from paypal using dd() in laravel, but there is no phone number listed there. How can I get that data?
I'm using this package: https://github.com/paypal/PayPal-PHP-SDK
Screenshot:
Update - Added required phone in paypal settings
Solution
Use $payment->payer->payer_info->phone to access the phone number.
The $payment variable is a Payment class like the screenshot above.
I cannot guarantee this will be a valid solution, but PayPal says in its Express Checkout documentation that
Note: PayPal returns a contact phone number only if your Merchant Account Profile settings require that the buyer enter one.
So, start looking into the PayPal account, into your Merchant Profile settings: you should be able to find the option at one of the following the URL
https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-website-payments
https://www.paypal.com/businessmanage/preferences/website
Someone still have issue on receiving the info and got them by making a subsequent call to /v1/payments/payment/PAYMENT_ID.
(the above answer has been edited to simplify retrieving of all the info present in comments)
I got following from PayPal api book page 45.
Related
I am working on Paypal webhook (subscription) section to insert recurring payment information into the database. I have done coding based on the link "https://jslim.net/blog/2018/01/22/PayPal-Rest-API-with-Laravel-5-and-Angular/" but Paypal webhook always return “payment_status: Pending” on sandbox image and its not inserting recurring payment information into the database (insert option added in PayPalController - function webhooksPaymentSaleCompleted ).
I think the problems related with routes/api.php file but I can't figure out what exactly is going wrong.
Another URL that I have referred and tried was "https://github.com/supermavster/PayPal-PHP-SDK"
Laravel version 5.8
paypal/rest-api-sdk-php: "^1.14"
Please suggest a feasible solution to this problem.
Thanks in advance.
Verify that the sandbox account's email is confirmed, by logging into the sandbox business account receiving the payment and navigating to: https://www.sandbox.paypal.com/businessprofile/settings/email
Resend the confirmation message. Open the message via https://developer.paypal.com/developer/notifications/ , and confirm the sandbox email.
The v1 PayPal-PHP-SDK is deprecated and there is no reason to be using it for a new integration. Use the v2 Checkout-PHP-SDK for payments.
You'll need two routes on your server, one for 'Set Up Transaction' and one for 'Capture Transaction', documented here; https://developer.paypal.com/docs/checkout/reference/server-integration/
The best approval flow to pair it with is https://developer.paypal.com/demo/checkout/#/pattern/server
I have configured Paypal Pay-flow Pro, and live mode is set, but when I use test card details for any card type then it accepts it and successfully checks out.
When I have set Payment Action -Authorization in admin payment settings then it works fine, but not when Payment action will be Sale.
CC.php from model file of payment has been overwritten and changes are below :
$info->setCcCidEnc($info->encrypt($info->getCcCid()));
This line is uncommented in prepareSave() function.
What is the exact issue here, I am unable to trace it!
I have got response from paypal support team and they had an issue whereby some of the processed transaction is not appearing in their PayPal account.
their developers fixed it and it's working properly now.
I am posting answer so it may help someone in future.
We are using Paypal express Checkout using onepage checkout option in Magento. Its working fine and now, I am trying to use the same inside "Ship to multiple address" option.
Based upon my research, I am not sure whether it is possible or not.
So, My question is - Can we use Paypal Express checkout in case of Multishipping option?
I tried to enable (by setting the below data member to True)
protected $_canUseForMultishipping = false;
in Payment method model class which result in display of the payment method in the payment section but never redirected to Paypal window instead displayed error on clicking place order:
PayPal gateway has rejected request. Invalid token (#10410: Invalid token).
Any quick help would be highly appreciated, Thanks.
This is actually not supported and many others have had this same problem.
See:
https://magento.stackexchange.com/questions/16628/multiple-checkout-payment-gateway-redirection-issue/16644#16644
I have a client that's running a Magento Community Edition site - version 1.3.2.4 - they've been using PayPal for payments for over a year with no issues at all.
Last week we added Authorize.net as an option and configured it to authorize and capture payments. They have their Authorize.net account set to then connect up with their Sage Pay account on the accounting side.
Everything works great until attempting to submit a payment - no matter what card type is selected using the Authorize.net choices (Visa / MC / Dis / AMEX) upon submitting the form, it throws a Magento alert of "Credit card type is not allowed for this payment method".
I've been on Google and the Magento forums for a couple hours now trying to track down the issue, but I've come up empty. Most suggestions I found were to clear the cache - I've done so, both in the admin as well as clearing out var/cache and var/sessions, but it's made no difference.
We've contacted Authorize.net and verified that the account is active and ready to receive transactions from those 4 card types.
Any thoughts on why this would be occurring and how to correct it?
Thanks for your help,
Jonathon
This typically means the the account was set up as card present instead of card not present. Having the account changed to the right type will solve this issue.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 9 years ago.
Improve this question
I have magneto website where various online goods are being sold. I have set up PayPal Website Payments Standard in admin section with PayPal account details is already activated.
When client successfully place the order and paid the bill with PayPal, I got "Pending Payment" status in order details page in admin. Actually order has been processed and PayPal accept the payment.
My question is why "Pending Payment" is showing in admin even payment has bee successfully proceed.
The latest PayPal integration changed the order processing schema (from PayPal side). Now there are no results being returned to Magento after you successfully paid for the order. Instead store owner should configure PayPal IPN feature.
Unfortunately the link to configure PayPal IPN is no longer on the Magento wiki. Here's the link to the PayPal docs (which is the majority of the config required): https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNSetup/
Magento IPN receiver would be something like: http://www.yoursitename.com/index.php/paypal/ipn/index/ - use your real domain. That should go into the Notification URL config in your PP acc.
Thank you for all your reply. I finally figured it out. There can be three possible cause of the error:
Check you merchant location in magento admin from system->configuration->payment method. Merchant location and Paypal business account country location should be same. This seemed to be the problem with me. I had merchant locations set as UK and my sandbox accound seller account was US.
It may not be send IPN. Login to paypal sandbox website and under history section there is an option for IPN enable it from there
In your paypal sandbox account, going into profile->setting->payment review and turn it off.
Although this is not a programming question please make sure you have set "Payment Action" to "Sale" in the Magento administration area.
You can find this under System -> Configuration -> Payment Methds -> PayPal Payment Solutions tab
As mentioned by Slayer Birden : "The latest PayPal integration changed the order processing schema (from PayPal side)".
The guide does seem to be outdated.
However For IPN settings you need to log in to your PayPal account and go to Profile->My selling Tools. Here you can find Instant Payment Notifications (IPN) settings.
i found this solution
Try to set “Transfer Cart Line Items” to No under configuration->payment methods->PayPal.
If it works for you then let me know!
Found on:
http://forum.azmagento.com/how-to/magento-17-issue-with-a-paypal-payments-order-92356.html
you can use this extension : Magento Order Repay Extension
My client had merchant account from Hongkong and we were using Website Hosting Pro as payment solution as Paypal has no provision to make payments from website itself except (US,UK and Canada).
This is hardcoded in magento , I did not understand why.?
To setup paypal with your account,
In your website folder go to ,
(version used here was ver 1.7.0.2)
{your installation folder}/app/code/core/Mage/Paypal/Model
open file "HostedPro.php"
In bottom , you will find function ,
public function getNotifyUrl($storeId = null)
{
return $this->_getUrl('paypal/ipn', $storeId, false);
}
This function sets ipn value for Hosting Pro.
Similarlly you can find ipn values afor other payment
methods(express,standard,etc..) in this folder.
Either change this to your desired value as set in paypal account
or change it from these(magento) files.
I chose first option and it worked.
After this your orders status should get changed.