PayPal IPN with credit card - paypal

Now I have a PayPal "Buy Now" button on the site and everything works fine. By clicking on this button, the buyer enters his PayPal account and pays for the purchase, as a result, after an IPN check, he receives a letter with a link to download the file and a serial number for authorization of the program. But now I want to make sure that not only those who have a PayPal account can buy, but also those who do not have this account, i.e. credit card.
I know that for this you need to activate the corresponding option in your PayPal account, but I had this question: where will the letter with the link and serial number be sent? Now I do not know the email address.
How to make the buyer specify an email before payment, to which he will receive a letter with a link to the purchased file and the serial number and how to make this email added to the database after checking the IPN? Currently, this email address is taken from IPN data.

Related

How can I limit the set of fields Paypal shows on express checkout?

Whenever our service initiates an express checkout and redirects the user to PayPal page the user sees the cart on the left and the following on the right:
Note that even the address and the phone number are required while we're an online service and don't need shipping information - once PayPal confirms the payment we'll happily "ship" over the Internet, so all we really need is a PayPal payment confirmation and I guess that requires just a credit card number, expiration date and the CSC.
Yes, I know that users who have already registered with PayPal can switch to "my PayPal account" option but that doesn't help people who don't have a PayPal account and those are forced to see this page with 12 fields.
Wait, that was the form for people who have their "country" identified as the USA. Here's what people tracked to Colombia see:
Even more fields and we only need a payment confirmation.
Is it possible to make PayPal limit the set of fields on that page?
Looks like you can avoid user to enter Billing and Contact information on guest checkout only if you properly transmit REAL shipping/contact data by your own in your SetExpressCheckout call.
&METHOD=SetExpressCheckout
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&PAYMENTREQUEST_0_SHIPTOSTREET=1 Main Street
&PAYMENTREQUEST_0_SHIPTOCITY=San Jose
&PAYMENTREQUEST_0_SHIPTOSTATE=CA
&PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=US
&PAYMENTREQUEST_0_SHIPTOZIP=95131
&PAYMENTREQUEST_0_EMAIL=jsmith01#example.com
&PAYMENTREQUEST_0_SHIPTOPHONENUM=408-559-5948
If you set random data above with invalid city/state/zip PayPal will display Billing and Contact information inputs.

Paypal API don't want a Delivery Address

I'm using secure-hosting as a middleman to process payments from my website which accepts credit card details and has an automatic paypal feature which essentially uses the paypal-api.
It processes payments fine and dandy, however our product isn't supposed to be delivered to the person who purchased it, it is sent to another (or many hundreds of) person(s) whose details are entered on our site by the purchaser.
The problem is that PayPal displays the purchaser's address as the delivery address both when the purchaser is signing into paypal and when they receive an invoice from paypal.
Does anyone know if there is an option to turn off this display of the delivery address/in the email? I've tried adding the no_shipping: '1' and NOSHIPPING=1 field when communicating with paypal but I believe this is to specify that the user doesn't have to supply an address because paypal will have a record of their address.
The ADDROVERRIDE variable determines whether or not the PayPal pages should display the shipping address set by you in this SetExpressCheckout request, not the shipping address on file with PayPal for this buyer. This would allow you to pass in a shipping address that your buyer enters into a form on your website, for example.

PayPal Errors for Emails without a PayPal Account

I'm building a site where one user can use PayPal to buy an item from another user. I want the money to go directly from one to the other while I just handle the IPN and the interface. I've set up the encrypted button to use cmd = _s-xclick and for the encrypted data: cmd = _xclick, business = the email of the seller and email = the email of the buyer. I'm having some issues completing the transaction. For example, User A has a PayPal account, User B does not. Both have an item being purchased by the opposite user. Clicking the "Pay with PayPal" button for User A (to buy User B's item) yields:
"The merchant is not a business or premier PayPal account. This feature is only enabled for a business or a premier PayPal account holder."
Clicking the "Pay with PayPal" button for User B (to buy User A's item) yields:
We were unable to authorize the transaction. Please contact your merchant.
I'm assuming the first message is because User B does not have a PayPal account, but I thought that PayPal will still accept the payment and hold it in a temporary account until that user signs up.
I'm also assuming that the second message is also because the buyer (in this case User B) doesn't have a PayPal account. But I thought PayPal would just give them the option to create one right there or use a credit card to make the payment.
Am I missing something (e.g. is there a different variable I need passed)? Or do I have to somehow confirm that a user has a PayPal account before allowing them to buy/sell an item.
PS: I'm pretty sure, but I'll have to confirm, that it works if both parties have PayPal accounts and the seller is a business/premium account.
This way is not a great solution because you have no way to check or guarantee that both parties have a PayPal account. I recommend using Adaptive Payments (Chain Payments). This will allow you as the PayPal account holder to run each transaction and it will send the money to the appropriate seller PayPal account, or e-mail them to let them know they have money waiting if they do not have a PayPal account, so that they can sign up and claim the money.
We recently began receiving this extremely unhelpful error message and we had to contact Paypal Merchant Technical Support. After much back and forth received the following response:
Unfortunately, we PayPal are facing some difficulties with encrypted button currently and our developer team is resolving this issue as we speak. In the meantime if you don't mind could you create a secondary email in your account then set it as primary, next regenerate the button again and test it out. For now this is the only work around they provided if you require to use encrypted button, give it a try and see if its worked, let me know if there's anything else you need, I would be happily assist you. Sorry for the inconvenience caused.
Tried that and it worked. It made me want to curse at someone, but it worked.

PayPal Error While Using Debit or Credit Card

Below error I got
"You cannot use an e-mail address or card number that belongs to an existing PayPal account. If you have a PayPal account, please log in. If you don't, please change the e-mail address or card number and try again."
I have created a application, while i am checking that app, i goat above error, i changed card numbers and email id's but paypal is still showing that error.
and finally my cart is _xclick
If you want any other info write a comment.
Plz do the need full
The first time you pay through PayPal, PayPal automatically creates an account in their system against your c/card number and email address.
Later, if you ever try to use PayPal again and enter either the same c/card nbr or email address, PayPal recognises that you have an 'account' with them and requires you to login. ie you cannot check-out as a 'guest' with the same email address or c/card.
PayPal forces you to login to your account. Since you didn't consciously create an account in the first place, many people find this experience confusing and frustrating.
Unless you want to use a different c/card and email address, you'll need to login to your 'account' Since you inevitably won't know your PayPal password, you'll need to follow the process to login, then click the link to recover your password, which will be sent to your email address. You can then use it to login and complete your payment by c/card through PayPal.
Many of your customers will have unfortunately given up by this point.

Does PayPal always return a payer_id?

I understand that when the customer logs into PayPal and uses their PayPal account, PayPal will send us the customer’s payer_id. But what happens if the customer does not log into PayPal and just uses a credit card to process the payment? Does PayPal still supply a payer_id in that case? And is there any way to fake that in the Sandbox? Does PayPal supply test credit card numbers? One for Success, and others for various types of failure?
(This is PayPal Website Payments Standard.)
The answer I received from the PayPal developer forums was:
A payer_id is returned whether the
buyer pays with a PayPal account or
uses their credit card without logging
into an account.
You can generate test card number in
the sandbox by following the steps
below:
First login to your buyer sandbox
account and generate a test credit
card by following the steps below:
Click on Profile
Click on Credit card
Click on Add
Select the card type (currently, the
sandbox will generate test visa card
numbers)
Copy the card here and click on cancel
** Don't add the card to your account**
Now use this test card number, any
expiration date in the future, 000 for
the CVV2 number, any address in a
valid format and any name to test
again.
These test cards will result in a
success. For website payments
standard, to simulate failure with a
test card number, you can enter any
random 16 digits for the card number.
However, with website payments
standard, if a transaction fails, no
response is sent to the merchant.
Thanks.