I'm using paypal's sandbox to test payments to a website i'm developing and I want the user to have the ability to pay directly with a credit card without the need of creating/using a paypal account.
What's happening is that the user only have this option when the United States option in country field is selected, otherwise the user has to pay with a paypal account.
When selected option is United States
When selected option is Portugal.
The account I'm using is from Portugal
I have the "PayPal Account Optional" feature on at my sandbox's account settings
The submit form is Buy Now type (aka _xclick)
Any idea why paypal is having this behavior?
I'm submiting this form:
<form name="paypalform" id="paypalform" action="#(paypalUrl)" method="post" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="amount" value="99">
<input type="hidden" name="item_name" value="#(itemName)">
<input type="hidden" name="quantity" value="1">
<input type="hidden" name="custom" value="#(Model.OrderId)"> <!--Transaction variable-->
<input type="hidden" name="business" value="#(paypalId)">
<input type="hidden" name="no_shipping" value="2">
</form>
The "#(...)" are just variables.
Thanks in advance.
According to this thread (from www.TipsAndTricks-HQ.com), PayPal issued legal agreements a few years ago for certain countries which forbid guest checkout. Citizens in some countries can still do guest checkout, but, due to legal requirements, citizens in certain countries may be required to create a PayPal account before they can checkout.
I would venture to guess that this is due to the fact that PayPal is registered as a U.S. company. Because of this, they must abide by U.S. laws for financial institutions.
What your trying to achieve can be done with paypals SDKs
You should try and use Paypals new SDK
https://github.com/paypal?utf8=%E2%9C%93&query=sdk
With it you can take credit card payments, store credit card details within paypals vault (for later use), etc... without leaving your site.
This link is a sample from paypals github showing you how to do credit card payment
https://github.com/paypal/PayPal-PHP-SDK/blob/master/sample/payments/CreatePayment.php
This is a tutoiral playlist that is really good and will help get you started https://www.youtube.com/watch?v=8ArEzyCEKl4&list=PLfdtiltiRHWE_c8jjW5OeweL1c_8uqcnW
Related
We are trying to implement subscription on our website using Paypal's subscription feature. What we want is to let Paypal do the recurring process even if the first payment fails until we or the subscribed user manually cancel the subscription profile.
From what I read here
https://developer.paypal.com/docs/classic/express-checkout/digital-goods/ECDGRecurringPayments/#id086520F027U
If we set the MAXFAILEDPAYMENTS variable to zero it means Paypal will still keep continuing the recurring process even if the payment fails.
However to specify the variable we have to use NVP/SOAP API.
Can we achieve the same thing using the basic HTML Code specified in the payment form ?
<input type="hidden" name="a3" value="1">
<input type="hidden" name="t3" value="M"> <!-- billing cycle unit=month -->
<input type="hidden" name="p3" value="1"> <!-- billing cycle length -->
<input type="hidden" name="src" value="1"> <!-- recurring=yes -->
<input type="hidden" name="sra" value="0"> <!-- reattempt=no -->
{{--End of recurring variables--}}
I could not find the option here
https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/
Unfortunately, no, and what's even worse is the parameter you mentioned for the NVP/SOAP API gets ignored.
No matter what you set that paramter to PayPal follows the same routine, which is this...
If a scheduled payment fails it will re-attempt in 5 days. If there are three re-attempts that each fail the profile will be "suspended due to max failed payments."
IPNs would be triggered for each failed attempt as well as for the suspension of a profile, so it's recommended to get an IPN solution setup and working if you do go that route.
What's strange, too, is that sometimes a profile will become suspended after failing three re-attempts as explained, but then if you "collect outstanding balance" using the same billing details provided for the subscription it will process successfully, and then you can re-activate the subscription profile.
Honestly, if I had it to do over again with my own system I would probably not use PayPal's recurring payments API. Instead I would use billing agreements and reference transactions so that I can build my own recurring system and process payments whenever I need for any amount I need. If you're just getting started I would recommend the same for you.
Many questions related are on the web, but nothing seems to solve the problem. I want to integrate PayPal IPN into my website and would like to test it with sandbox first. I have created 2 sandbox accounts - 1 for merchant and 1 for buyer.
I have payed with buyer's account.
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="...merchant's snadbox email....">
<input type="hidden" name="item_name" value="Huts For The Track">
<input type="hidden" name="item_number" value="NZ-001">
<input type="hidden" name="amount" value="2.00">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="return" value="...some url...">
<input type="hidden" name="cancel_return" value="...some url...">
<input type="hidden" name="notify_url" value="...someurl...">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="lc" value="US">
Afterwards,
in buyer's sandbox account the payment are shown as Unclaimed.
I have logged into merchant's sandbox account (with the same "...merchant's sandbox email...." that I sent in the code above). But, no received payment is shown in merchant's account (and his balance has not changed)
The IPN was not sent to my server (probably since the merchant did not receive the payment)
How can this be fixed.
While you have not provided many details in your question to help us help you, one likely cause would be having the 'business' parameter wrong in making your payment, such that you did not in fact pay the seller account you thought you were paying but instead paid to an email that does not yet exist as a PayPal account (in the sandbox). Thus the payment cannot be claimed until that email is signed up.
There is no way that only half a payment exists (e.g. sender without receiver) in PayPal. So if the buyer can see the payment, the sending side went somewhere, even if that is only a "holding record" inside PayPal being held on behalf on an un-signed-up email address. :)
I am using basic form the allow paypal purchases:
<form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<INPUT TYPE="hidden" NAME="return" value="http://site.bike.com.au/checkout/paymentSuccess/#Model.UniqueId">
<input type="hidden" name="business" value="admin#bike.com.au">
<input type="hidden" name="currency_code" value="AUD">
<input type="hidden" name="orderDetails name" value="Bike">
<input type="hidden" name="amount" value="#Model.TotalPrice">
<input type="hidden" name="item_name"value="Bike + Delivery">
<input class="btnPaypal" type="image" src="https://www.paypalobjects.com/en_US/i/btn/x-click-but6.gif" border="0" name="submit" >
</form>
I would like to send the customer to paypal with the option to buy without a paypal account.
How can I do it?
In order to not bother customers who are non Paypal account holders with opening a Paypal account (and create a password), you may set your
'account optional' settings to on.
To see this, log in, go to Profile and click 'My selling preferences', click on Update next to Website preferences - scroll down the screen and find "PayPal Account Optional" section - you can enable/disable PayPal Account optional here.
If you don't see this feature, you may contact our Business Support direct. They can toggle it for you as we here in tech don't have actually
account access.
Also, it's important to remember that guest checkout is not guaranteed for every transaction. PayPal runs a risk check to determine eligibility for guest checkout. There will be times when guest checkout is not available. This is intended. Here are a few things to make sure guest checkout is offered as often as possible.
Verified PayPal account
Confirmed email address
Guest Checkout enabled
If all of these are met and it's not available then our system has decided to disable the guest checkout option for risk reasons. This is not a permanent decision and it will be available in the future.
I built an PayPal HTML button on Paypal site with some details about the item.
After clicking on the pay button the client redirected to paypal secure page
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top" class="payPalBtn">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="AEYPTR4G22C">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
There I have 2 options:
pay with PayPal account
register a new account and then pay with PayPal account
Why I don't have an option paying only with credit card without regestering as I saw on others sites
Make sure that your account is verified/confirmed and that you have PayPal account optional turned on in your profile. Keep in mind, that not every country will have the ability to offer paying with just a credit card and not having to create a PayPal account.
PayPal - paying without paypal's account is not returning to my store when complete.
Abdula ben Sulejman, you just completed your payment. Your receipt
number for this payment is: 0000-0000-0000-0000.
We'll send a confirmation email to z___ya#gmail.com. This
transaction will appear on your statement as PayPal *ILYAIZSTEST.
I dont recieve any email from paypal. So how to check that payment?
Obviously you asked how to check the payment details, but was not sure if you were curious as to how to return the customer from PayPal back to your store/website. which is what your title seems to imply.
There are 2 ways of returning the customer to your store.
In your PayPal account, you may enable Auto Return. After the customer has confirmed their payment with PayPal, Paypal will automatically re-direct the customer to your specified return_url. In order to send transaction information to your return_url as well, take a look at enabling Payment Data Transfer (PDT).
In your button code, you may specify the return_url as a hidden input variable. Once the customer has confirmed their payment with PayPal, PayPal will direct the customer to PayPal's receipt page. On this page, PayPal will provide the link you specified.
An example of a Buy Now button, may look like this:
<form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="me#mybusiness.com">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="item_name" value="Teddy Bear">
<input type="hidden" name="amount" value="12.99">
<input type="hidden" name="return_url" value="http:/example.com/success" />
<input type="image" src="http://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
</form>
For further research, read more here.
As far as checking the payment from the buyer's end, the buyer would either have to wait for the transaction to appear on their statement as specified by PayPal, or should contact the seller for transaction details.