Hello I have a paypal payment gateway like to set the payment was sent as friends or family, not as goods or services, how to set up?
<form name="paypalform" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="<?=$site['paypal']?>">
<input type="hidden" name="item_name" value="<?='Add Funds - '.$data['login'].' - '.$s_host['host']?>">
<input type="hidden" name="custom" value="<?=($data['id'].'|'.$cash.'|'.VisitorIP())?>">
<input type="hidden" name="amount" value="<?=$cash?>">
<input type="hidden" name="currency_code" value="<?=($site['currency_code'] == '' ? 'USD' : $site['currency_code'])?>">
<input type="hidden" name="button_subtype" value="services">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="no_shipping" value="2">
<input type="hidden" name="rm" value="1">
<input type="hidden" name="return" value="<?=$site['site_url']?>/bank.php?success">
<input type="hidden" name="cancel_return" value="<?=$site['site_url']?>/bank.php?cancel">
<input type="hidden" name="notify_url" value="<?=$site['site_url']?>/system/payments/paypal/ipn.php">
</form>
Unfortunately this is not something you can code your button to do, since the choice is only presented to a PayPal account holder during the "Send Money" process.
You can get this done using the Adaptive Payments API. You'll setup a Pay request and you'll see the payment type to PERSONAL. More details available in the Pay API request doc.
So you can't do it with a basic button like you're showing here, but if you can handle API calls you can get it done that way (assuming PayPal approves your app).
Related
I am trying to enable PayPal IPN on my website. I am now facing some issues with the tests environment - PayPal sandbox.
I am trying to integrate with PHP, so I am using the code of the file paypal_ipn.php from https://github.com/paypal/ipn-code-samples.
I have a test HTML page with which I send the POST actions to paypal_ipn.php:
<form target="_new" method="post" action="http://example.com/paypal_integration/paypal_ipn.php">
<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="1" >
<input type="hidden" name="item_number" value="1">
<input type="hidden" name="custom" value="CUSTOM_CODE_#...">
<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://example.com/paypal_integration/return.php">
<input type="hidden" name="cancel_return" value="http://example.com/paypal_integration/cancel_return.php">
<input type="hidden" name="cbt" value="description">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="notify_url" value="http://example.com/paypal_integration/paypal_ipn.php">
<input type="submit" value="submit!" />
</form>
The result is "INVALID". How do I go through this problem, in the sandbox environment and after that in live environment? I.e. how to get "VERIFIED" actions in sandbox?
I have solved this:
in paypal account go to https://developer.paypal.com/developer/ipnsimulator/ ;
after that, fill the form: in "transaction type" choose for instance "cart checkout";
in "IPN handler URL" put the link of the IPN receiver page: http://example.com/paypal_integration/paypal_ipn.php
or:
in paypal account, create test accounts: https://developer.paypal.com/developer/accounts ;
log-in with the facilitator account, and then create a test button as indicated here: https://developer.paypal.com/docs/classic/paypal-payments-standard/ht_test-pps-buttons/ (go to: https://www.sandbox.paypal.com/pt/cgi-bin/webscr?cmd=_button-designer );
use the button code, eg.: <input type="hidden" name="hosted_button_id" value="6RNT8A4HBBJRE">, in the button of the website and then simulate a purchase.
We integrated Paypal button to support our starting business. We received several user feedbacks about not being able to complete payment. They reported that they can see the payment page after clicking the Buy Now button. However they tried pay through Paypal account, pay with credit card and pay with Paypal credit. None of them work. However, no one in our team has faced such problem when checking out. So we really don't have an idea about what's going on. Here is an example Paypal button code we use:
<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="business#myticket.com">
<input type="hidden" name="env" value="www">
<input type="hidden" name="address_override" value="0">
<input type="hidden" name="item_name_1" value="演唱会">
<input type="hidden" name="amount_1" value="122">
<input type="hidden" name="discount_rate_1" value="10">
<input type="hidden" name="item_name_2" value="演唱会">
<input type="hidden" name="amount_2" value="122">
<input type="hidden" name="discount_rate_2" value="10">
<input type="hidden" name="shipping_1" value="$27.95">
<!-- Fill full name in the first_name field -->
<input type="hidden" name="first_name" value="Bruce Lee">
<input type="hidden" name="notify_url" value="https://www.myticket.com/payment/ipn">
<input type="hidden" name="address1" value="">
<input type="hidden" name="address2" value="">
<input type="hidden" name="city" value="">
<input type="hidden" name="state" value="">
<input type="hidden" name="zip" value="">
<input type="hidden" name="country" value="US">
<input type="hidden" name="email" value="">
<input type="hidden" name="custom" value="lmIvjDuZVRsCWFPDdfFsrKiNVrnAbWeTZSINiDuszZEGKjeXfhqxyqRrn">
<input type="hidden" name="paymentaction" value="authorization">
<input type="hidden" name="charset" value="utf-8">
<input type="hidden" name="return" value="https://www.myticket.com">
<input type="hidden" name="cancel_return" value="https://www.myticket.com">
<input type="image" name="submit" border="0" src="https://www.paypalobjects.com/webstatic/en_US/i/buttons/checkout-logo-large.png" alt="Check out with PayPal">
</form>
Is there any problem with this Paypal button? If not, what else could be causing the payment to fail?
Besides, is there a way we can get a message about these failures? Right now we are using IPN. However IPN doesn't seem to notify us about these payment failures.
BTW, myticket.com is a fake url in this post.
Well first, when using Website Payments Standard buttons, you don't get much back as far as the declines. Typically you are only going to get details of declines back when you are using API calls to process the payment. As for the button itself, it looks fine to me. Perhaps some of the issue is with the special characters for the item name which is leading to the failure. You could try creating 2 of the same buttons/items but without the special characters and see if those same buyers run into the issue with the second button that they did with the first one. You could also try using the "lc" variable in your button code to see if this helps. You can see the description of what the "lc" variable does here.
I need to collect information about our high school reunion attendees and allow them to pay via a PayPal button. I've created the PayPal Pay Now button, but not sure what if any information will be collected and sent back to me. Do I need a separate form to collect information or is there a way to make the PayPal button work as the submit button for the data I collect using a form?
You should use a IPN (Instant Payment Notification) for this. There are lots of good templates for this available on GitHub. Your form might look like this:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" >
<input type="hidden" name="business" value="YOUR PAYPAL ID">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="upload" value="1" />
<input type="hidden" name="item_name" value="ITEM_NAME">
<input type="hidden" name="item_number" value="ITEM_NUMBER>
<input type="hidden" name="amount" value="TOTAL_AMOUNT">
<input type="hidden" name="custom" value="<?php echo $attendee_id ?>">
<input type="hidden" name="no_note" value="1" />
<input type="hidden" name="rm" value="2">
<input type="hidden" name="cbt" value="Return to website">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="return" value="http://domain.com/success.php"/>
<input type="hidden" name="notify_url" value="http://domain.com/ipn.php"/>
<input type="hidden" name="cancel_return" value="http://domain.com/canceled.php"/>
<button type="submit">Pay using PayPal</button>
</form>
I am trying to send POST vars to paypal ipn like that:
<form class="form-horizontal paypal-button" method="post" action="https://www.sandbox.paypal.com/cgi-bin/webscr" target="_top" style="opacity: 1;">
<input type="hidden" name="button" value="buynow">
<input type="hidden" name="business" value="vendedor#estadosbinarios.com">
<input type="hidden" name="quantity" value="1">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="shipping" value="0">
<input type="hidden" name="tax" value="0">
<input type="hidden" name="notify_url" value="http://www.estadosbinarios.com/pagos/paypal_ipn.php">
<input type="hidden" name="return" value="http://www.estadosbinarios.com/pagos/success.php">
<input type="hidden" name="env" value="www.sandbox">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="bn" value="JavaScriptButton_buynow">
<!-- Enable override of buyers’s address stored with PayPal . -->
<input type="hidden" name="address_override" value="1">
<input id="nombre" name="first_name" type="text" placeholder="" class="form-control input-md">
<input id="nombre" name="last_name" type="text" placeholder="" class="form-control input-md">
</form>
But Paypal doesn´t care my vars first_name or last_name, paypal is always getting the vars from user account of paypal and overwriting that var.
Is there any way to choose my vars?
When people pay with PayPal through it is indeed going to use the info provided from the shipping address of their account. You can't get around this with Payments Standard like you're using.
You could switch to the Express Checkout API which would give you the option of collecting the buyers name, address, etc. and then passing that over to PayPal in a way that cannot be overridden. This way you'd get whatever they typed into your site instead of relying on PayPal to provide those details.
I am new to creating Paypal payment buttons in which i want to use subscribe button with my plan. In this i want to limit my subscription cycle to only 1 billing cycle but Paypal has minimum 2 cycles in drop down when i am using payment standard.
I have program to sell for 497$ and i want to offer $1 trial period and after 1 week trial i want to charge another 496$. I want to then take customers to my registration page where i have set up membership website in WordPress using Wishlist Member. So i can use only subscribe button if i want to use wishlist as it is not compatible with installment button and also in my country (India) Paypal is not offering such advanced buttons.
Any subsequent help will be appreciated.
This is a hack as the PayPal Subscription buttons do not support 'delayed payments' but it would be like this:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="business" value="youremail#yourdomain.com">
<input type="hidden" name="item_name" value="test subscription">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="bn" value="SgtPooki">
<input type="hidden" name="a2" value="1.00">
<input type="hidden" name="p2" value="1">
<input type="hidden" name="t2" value="W">
<input type="hidden" name="a3" value="496.00">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="M">
<input type="hidden" name="src" value="1">
<input type="hidden" name="srt" value="1"><input type="hidden" name="sra" value="1">
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_subscribe_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>
The text that appears on the checkout page at PayPal, which you cannot change, will say:
Then $1.00 USD for the next week
$496.00 USD for each month, for 1 installments