PayPal IPN notifies with protection_eligibility=Ineligible - php

This is in a custom PHP eCommerce application. I have no problem receiving and verifying a PayPal IPN response, but it never returns with seller protection eligibility.
This is the generated IPN submission form:
the data has been replaced with dummy data for this question, but it is legitimate data in the application
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="item_name" value="Order #123456789">
<input type="hidden" name="item_number" value="123456789">
<input type="hidden" name="invoice" value="123456789">
<input type="hidden" name="amount" value="50.00">
<input type="hidden" name="first_name" value="John">
<input type="hidden" name="last_name" value="Smith">
<input type="hidden" name="contact_phone" value="123 123 1234">
<input type="hidden" name="payer_email" value="customer#gmail.com">
<input type="hidden" name="address_country" value="Canada">
<input type="hidden" name="address_country_code" value="CA">
<input type="hidden" name="address_city" value="Test City">
<input type="hidden" name="address_name" value="John Smith">
<input type="hidden" name="address_state" value="Provice">
<input type="hidden" name="address_street" value="123 Test Street">
<input type="hidden" name="address_zip" value="A1B 2C3">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="address_status" value="confirmed">
<input type="hidden" name="currency_code" value="CAD">
<input type="hidden" name="return_url" value="http://custom-ecommerce-app.com/thank-you.html">
<input type="hidden" name="protection_eligibility" value="SellerProtection">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="notify_url" value="http://custom-ecommerce-app.com/paypal-ipn-notify.php">
<input type="hidden" name="custom" value="">
<input type="hidden" name="business" value="payments#custom-ecommerce-app.com">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="lc" value="CA">
<input type="hidden" name="bn" value="PP-BuyNowBF">
</form>
In the IPN response received, protection_eligibility is always Ineligible. This occurs with or without the sandbox. The business/recipient account is configured for seller protection.
I've tried entering generating the submission form with address information that is identical to the profile information of the sandbox customer account, and I get the same result (Ineligible).
What do I need to change in my account or submission form for this to work?

SOLUTION
no_shipping must have a value of 0 (prompt for optional shipping address) or 2 (prompt for required shipping address). Orders with no shipping cannot be eligible for seller protection.

Related

How to change currency in PayPal for 3rd-party shopping cart checkout?

I am using this PayPal payment method in my project and I facing one issue in currency.
I have followed this link steps(https://www.paypal.com/cgi-bin/webscr?cmd=p/pdn/howto_checkout-outside#methodone) and integrated PayPal, all things working fine but the currency showing wrong on the checkout page but when going to the next page it is showing properly.
I want to change the currency text from USD to EUR on the checkout page. how it is possible.
Can any help with it?
here is code
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="frmTransaction" id="frmTransaction">
<input type="hidden" name="business" value="Email">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="item_name" value="">
<input type="hidden" name="shipping" value="0"/>
<input type="hidden" name="item_number" value="">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="amount" value="1">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="upload" value="1">
<input type="hidden" name="cancel_return" value="">
<input type="hidden" name="return" value="">
<input type="hidden" name="notify_url" value="">
</form>
1, Add EUR currency to your Paypal account using this link
like this screenshot
OR
Go to > Account Settings > BUSINESS PROFILE > Money, banks and cards > Currency management
2, Remove these two elements from your form
<input type="hidden" name="rm" value="2">
<input type="hidden" name="upload" value="1">
your final form code like below
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="frmTransaction" id="frmTransaction">
<input type="hidden" name="business" value="web91.siddharth#gmail.com">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="item_name" value="Item Name">
<input type="hidden" name="shipping" value="1"/>
<input type="hidden" name="item_number" value="">
<input type="hidden" name="amount" value="1">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="cancel_return" value="">
<input type="hidden" name="return" value="">
<input type="hidden" name="notify_url" value="">
<input type="submit" value="Pay Now">
</form>

PayPal IPN - Changing from Sandbox to Live stops working

I am using the PayPal IPN System which works perfectly in sandbox mode. All the payments went through successfully and my site updated as required. So, being ready to go live, I change my sandbox links to live links:
$action = 'https://www.paypal.com/cgi-bin/webscr';
But now, whenever the payment form is posted to this address, it ends up at
https://www.paypal.com/webapps/hermes?token=...
which just shows a blank page. No error_log is created on my server.
Here is my form data before the link to PayPal is clicked.
<form name="frm_payment_method" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
<input type="hidden" name="business" value="payments#domain.com">
<input type="hidden" name="notify_url" value="http://domain.com/ipn.php">
<input type="hidden" name="cancel_return" value="http://domain.com/cancelled.php">
<input type="hidden" name="return" value="http://domain.com/success.php">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="lc" value="">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="GBP">
<input type="hidden" name="page_style" value="paypal">
<input type="hidden" name="charset" value="utf-8">
<input type="hidden" name="item_name" value="1 Credit">
<input type="hidden" value="_xclick" name="cmd">
<input type="hidden" name="amount" value="1.50">
<p><button type="submit" name="submit" class="btn btn-primary">Proceed to PayPal</button>
Cancel</p></form>
Of course, replacing domain.com with my own correct domains.

PayPal Sandbox returns Invalid - IPN verification

I need some help with PAYPAL IPN system . I am completely lost.
I setup this form
<form class="checkout-form" name="checkout-form" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="POST"><ul class="notices-box"></ul><div class="row"><div class="col-md-8"><h2>Order Details</h2><div class="setting"><div class="setting-label"></div><input type="text" name="first_name" placeholder="First Name..."/></div><div class="setting"><div class="setting-label"></div><input type="text" name="last_name" placeholder="Last Name..."/></div><div class="setting"><div class="setting-label"></div><input type="text" name="user_address" placeholder="Address..."/></div><div class="setting"><div class="setting-label"></div><input type="text" name="user_country" placeholder="Country..."/></div><div class="setting"><div class="setting-label"></div><input type="text" name="user_telephone" placeholder="Telephone..."/></div><div><input type="hidden" name="action" value="checkout"/>
<button name="submit" class="button-primary button-primary-for-checkout" style="width: auto; ">Place Order</button>
</div></div><!--end .part1.1-->
<INPUT TYPE="hidden" name="cmd" value="_notify-validate">
<INPUT TYPE="hidden" NAME="return" value="http://zoomthe.me/paypalipn/paypal_ipn.php"><INPUT TYPE="hidden" NAME="currency_code" value="USD">
<input type="hidden" name="amount" value="0">
<input type="hidden" name="email" value="zoomitflash-buyer-1#gmail.com">
<input type="hidden" name="business" value="zoomitflash-facilitator-1#gmail.com">
<input type="hidden" name="item_name" value="hat">
<input type="hidden" name="item_number" value="15">
</form>
Here - http://zoomthe.me/soundportal//index.php?page=checkout
But when accesing the paypal site I get a big INVALID :(
What should I do ?
You have invalid fields inside paypal form! Some invalid fields like first_name, last_name ... etc. The form must be clear, clean and correct. Use this example
<form method="post" name="checkout-form" action="https://www.paypal.com/cgi-bin/webscr">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="your#paypal_email.com">
<input type="hidden" name="item_name" value="Product Name>
<input type="hidden" name="amount" value="22" >
<input type="hidden" name="item_number" value="65">
<input type="hidden" name="custom" value="CUSTOM_CODE_##!#!###!WDASD">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="quantity" value="1">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="return" value="http://zoomthe.me/paypalipn/paypal_ipn.php">
<input type="hidden" name="cancel_return" value="http://zoomthe.me/paypal_cancel">
<input type="hidden" name="cbt" value="Product Description">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="notify_url" value="http://zoomthe.me/your_listener_ipn_file.php">
</form>

PayPal Checkout with Multiple Items with Quantuty - Unknown Error

I am trying send a PayPal multiple items with quantity and amount in a shopping cart. When i try to send the following i get a unknown error. i dont know why
<form name="check_out_form" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="business" value="sales#ss.com"/>
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="currency_code" value="USD"/>
<input type="hidden" name="item_number_1" value="1"/>
<input type="hidden" name="item_name_1" value="Featured: 3"/>
<input type="hidden" name="amount_1" value="9.95"/>
<input type="hidden" name="quantity_1" value="3"/>
<input type="hidden" name="item_number_2" value="2"/>
<input type="hidden" name="item_name_2" value="Standard: 2"/>
<input type="hidden" name="amount_2" value="2.95"/>
<input type="hidden" name="quantity_2" value="2"/>
<input type="hidden" name="page_style" value="Career"/>
<input type="hidden" name="no_note" value="1"/>
<input type="hidden" name="no_shipping" value="1"/>
<input type="hidden" name="return" value="http://www.sss.com/welcome.php?id=success"/>
<input type="hidden" name="return_cancel" value="http://www.sss.com/welcome.php"/>
<input type="hidden" name="custom" value="id|1-custom|1-fea|9.95|3|29.85-std|2.95|2|5.9-total|"/>
<input type="hidden" name="notify_url" value="http://www.sss.com/ipn.php"/>
<input type="hidden" name="cbt" value="Complete Upgrade">
<input type="submit" name="button" id="button" value="Pay now"/>
</form>
I cant figure out what i am doing wrong here i get error saying
"We have detected a problem with this shopping cart. If the problem persists, please contact the merchant. At this time, we are unable to process your request. Please return to xxl and try another option."
Add a new variable called "upload", so it might look like:
...
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">
...
Tried it, worked with your code in my PP-Sandbox.

submitting multiple items to paypal cart at once with php

I have some items for sale that have 2 and 3 levels of customization. Once set the user adds them to my onsite cart. Problem is, how can i send each item to paypal on checkout? The only code ive found for dynamic buttons supports only a single item.
<form method="post" action="https://www.paypal.com/cgi-bin/webscr" target="paypal">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="add" value="1">
<input type="hidden" name="business" value="EMAIL">
<input type="hidden" name="item_name" value="Item #1">
<input type="hidden" name="item_number" value="123456">
<input type="hidden" name="amount" value="7.00">
<input type="hidden" name="shipping" value="0">
<input type="hidden" name="shipping2" value="0">
<input type="hidden" name="handling" value="0">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="return" value="http://www.yoursite.com/thankyou.htm">
<input type="hidden" name="undefined_quantity" value="1">
<input type="image" src="http://images.paypal.com/en_US/i/btn/x-click-but22.gif" border="0" name="submit" width="87" height="23" alt="Make payments with PayPal - it's fast, free and secure!">
</form>
I tried adding
<input type="hidden" name="item_name_2" value="Item #1">
<input type="hidden" name="item_number_2" value="123456">
<input type="hidden" name="amount_2" value="7.00">
But no positive result.
Any ideas?
Here is the solution
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">
<input type="hidden" name="business" value="email#email.com">
<input type="hidden" name="item_name_1" value="Item #1">
<input type="hidden" name="amount_1" value="1.00">
<input type="hidden" name="item_name_2" value="Item #2">
<input type="hidden" name="amount_2" value="2.00">
<input type="submit" value="PayPal">
</form>
Why don't you send the total amount your client has to pay to PayPal?

Categories