Paypal payment with only credit card without creating account - paypal

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.

Related

Pay on paypal without the need of creating an account

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

How to process unclaimed payments with PayPal sandbox?

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. :)

Paypal basic form to pay by credit card without paypal account

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.

Paypal IPN : notify_url not called

I'm testing a simple paypal paying script whisch works fine except that it's not calling my notify_url and I don't understand why. The url is reachable and even the sandbox IPN testing gives a positive result. Even stranger, on the same domain I have an other script that is working briliantly. Code is not identical, but it's using the same method.
This is the html of the form used to send paymento to Paypal:
form id="ppcheckout" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" name="pp">
<input type="hidden" value="_xclick" name="cmd">
<input id="business" type="hidden" value="xxx#gmail.com" name="business">
<input id="currency_code" type="hidden" value="EUR" name="currency_code">
<input type="hidden" value="http://www.mydomain.com/dir/ipn.php" name="notify_url">
<input id="return" type="hidden" value="http://www.mydomain.com/dir/" name="return">
<input id="cancel_return" type="hidden" value="http://www.mydomain.com/dir/" name="cancel_return">
<input type="hidden" value="1" name="amount">
<input type="hidden" value="Order from mysite" name="item_name">
<input type="hidden" value="1" name="invoice">
</form>
Can't realy figure out what's wrong or missing. Does someone have an idea?
Thanks
Bye
I hope you are not testing paypal on LOCALHOST. That wont work, you need to test it online, in a web server, you can code using localhost but have to upload it to the SERVER so as to test it completely.
Here is a link that might help in configuring paypal - How to Set Up PayPal Integration with PHP & MySQL
You need to edit the Instant Payment Notification (IPN) settings in your PayPal Sandbox business account.
Log into Sandbox business account.
Go to the Profile page and click on Instant Payment Notification preferences link.
Set Notification URL and enable the IPN message.
Full tutorial can be found from here - PayPal IPN / Notify URL is not working on Sandbox Account
Have you verified your sandbox account's email?
This link sounds similar to your problem, and that fixed it for him.
Checked for Queued IPN messages.
Hover over your profile Icon ->
Account Settings ->
(on Left) Notifications ->
Instant Payment Notifications (Click Update) ->
Search for IPN History
Now check whether the messages are queued or failed etc. It well might be paypal sandbox encounter's spikes and can't deliver the messages.
This is a direct link to IPN History
I had a hard time getting the sandbox to work as well. I would try to test it on paypal and confirm that sandbox is not doing something goofy
I had the same issue my login check was creating problem when paypal hit back to notify_url. I passed user session id in notify_url as query string and every thing works fine for me. Paypal on localhost won't work.
Using below link you can download paypal IPN class
http://www.micahcarrick.com/php-paypal-ipn-integration-class.html

PayPal - paying without paypal's account is not returning to my store

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.