PayPal response not coming in PHP - php

I am create my sandbox account for testing. I can perform payment successful but and I am also redirect to my success page but I cannot get TX parameter when success page is loaded.
I am pass return url in my form and I am also setting return URL in my PayPal account and also turn Payment Data Transfer, but I cannot get any parameter when success page is loaded.
BUY.PHP
<?php
$paypal_url='https://www.sandbox.paypal.com/cgi-bin/webscr'; // Test Paypal API URL
$paypal_id='my-id-facilitator#gmail.com'; // Business email ID
?>
<form action='https://www.sandbox.paypal.com/cgi-bin/webscr' method='post' name='form1'>
<input type='hidden' name='business' value='Demo for paypal'>
<input type='hidden' name='cmd' value='_xclick'>
<input type='hidden' name='item_name' value='demo'>
<input type='hidden' name='item_number' value='1'>
<input type='hidden' name='amount' value='1'>
<input type='hidden' name='rm' value='1'>
<input type='hidden' name='no_shipping' value='1'>
<input type='hidden' name='currency_code' value='USD'>
<input type='hidden' name='cancel_return' value='http://my-site.com/cancel.php'>
<input type='hidden' name='return' value='http://my-site.com/success.php'>
<input type="image" src="https://paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" name="submit">
</form>
SUCCESS.PHP
<?php
$item_transaction = $_GET['tx']; // Paypal transaction ID
$item_price = $_GET['amt']; // Paypal received amount
$item_currency = $_GET['cc']; // Paypal received currency type
echo $item_transaction;
echo "<br>".$item_price;
echo "<br>".$item_currency;
?>

Related

How to process Paypal Checkout to paypal app instead of web browser

Okay, so I have a unique issue with Paypal. I have a payment form that is working just fine. But I want something like, when people hit the payment button from their mobile it would take them straightly to their installed Paypal app to process the payment. For desktop, the browser is okay.
Can anybody help me anyhow with this? I don't even know if this is possible without SDK. I am using simple payment form
<?php
$paypalData = getPaypalData($userid);
$paypalurl = 'https://www.paypal.com/cgi-bin/webscr';
$paypalSandboxurl = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
?>
<form action="<?=$paypalurl;?>" method="post" target="_top">
<input type='hidden' name='business' value='<?=$paypalData['paypal_email'];?>'>
<input type='hidden' name='item_name' value='Booking'>
<input type='hidden' name='item_number' value='12345'>
<input type='hidden' name='user_id' value='<?=$userid;?>'>
<input type="hidden" name='amount' id="depositAmountform" value="">
<input type='hidden' name='no_shipping' value='1'>
<input type='hidden' name='currency_code' value='USD'>
<input type='hidden' name='notify_url' value='<?=$notifyURL;?>'>
<input type='hidden' name='cancel_return' value='<?=$cancelReturnURL;?>'>
<input type='hidden' name='return' value='<?=$successReturnURL;?>'>
<input type="hidden" name="cmd" value="_xclick">
<button type="submit" name=" " id="pay_now">PayPal</button>
</form>

php: Unable to return to my site after Paypal payment

First I created test accounts for sandbox which were generated as following by Paypal:
1- me#mail.com
2- me-facilitator#mail.com
2- me-buyer#mail.com
Now I turned Auto Return to ON on my MAIN account I am using for Paypal that is me#mail.com. My form looks like:
<form action='https://www.sandbox.paypal.com/cgi-bin/webscr' method='post' id="frmPayPal" name='frmPayPal'>
<input type='hidden' name='business' value='me-facilitator#mail.com'>
<input type='hidden' name='cmd' value='_xclick'>
<input type='hidden' name='item_name' value='Awesome Stuff'>
<input type='hidden' name='item_number' value='0002'>
<input type='hidden' name='amount' value='0.99'>
<input type='hidden' name='no_shipping' value='1'>
<input type='hidden' name='currency_code' value='USD'>
<input type='hidden' name='handling' value='0'>
<input type="hidden" name="rm" value="2">
<input type='hidden' name='return_method' value='2' />
<input type='hidden' name='cancel_return' value='http://296c6e7b.ngrok.io/clients/ryan/pay.php'>
<input type='hidden' name='return' value='http://296c6e7b.ngrok.io/clients/ryan/pay.php'>
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
Now I can make successful purchase but it does not return to the URL.
I am submitting form via jQuery
You need to login your me-facilitator#mail.com and enable the Auto Return for Website Payments just like how you did in your me#mail.com.
How i figured it out? because of this:
<input type='hidden' name='business' value='me-facilitator#mail.com'>

Sagepay form submit parameters in PHP

How many parameters I need to pass the in form ULR ,It can interact with sagepay payment gateway. Following parameters are I have passed in the form url but I ma getting the following error:
Error:
Error number:
5068
Error message:
The encryption method is not supported by this protocol version.
I am unable to connect the sagepay server payment.I am completly new about the configuration of sagepay payment.
Some one can please tell me how many parameter I need to pass and What are they are?
How to encrypt the values and then pass the values?
Code:
<form name='sagepay' action='{$pm_sagepay_url}' method='post' onsubmit='this.submit.disabled=true;return true;'>
<input type='hidden' name='VPSProtocol' value='3.00'>
<input type='hidden' name='TxType' value= 'PAYMENT'>
<input type='hidden' name='Vendor' value= 'protxross'>
<input type='hidden' name='Crypt' value= 'TPjs72eMz5qBnaTa'>
<input type='hidden' name='cmd' value='_xclick'>
<input type='hidden' name='business' value='{$this->pm_sagepay_business}'>
<input type='hidden' name='item_name' value='".$order->order_description()."'>
<input type='hidden' name='amount' value='".sprintf("%01.2F", ($order->order_total_price-$order->order_fee))."'>
<input type='hidden' name='handling' value='".($order->order_fee)."'>
<input type='hidden' name='return' value='".$_SHOP->root_secured. 'checkout_accept.php?'.$order->EncodeSecureCode()."'>
<input type='hidden' name='notify_url' value='".$_SHOP->root_secured. 'checkout_notify.php?'.$order->EncodeSecureCode()."&setlang={$_SHOP->lang}'>
<input type='hidden' name='cancel_return' value='".$_SHOP->root_secured. 'checkout_cancel.php?'.$order->EncodeSecureCode()."'>
<input type='hidden' name='currency_code' value='{$_SHOP->organizer_currency}'>
<input type='hidden' name='undefined_quantity' value='0'>
<input type='hidden' name='no_shipping' value='1'>
<input type='hidden' name='no_note' value='1'>
<input type='hidden' name='rm' value='2'>
<input type='hidden' name='invoice' value='{$order->order_id}'>
<div align='right'>
<input type='submit' value='{!pay!}' name='submit2' alt='{!sagepay_pay!}' >
</div>
</form>";
The info added to the form needs to be encrypted you be better off using the guide found here:
http://www.sagepay.co.uk/file/12241/download-document/FORM_Integration_and_Protocol_Guidelines_010814.pdf?token=gMABp5MzTV1BevfFpoTFkrofFWwHXySRM5tzGIdKj3Q
Also this guy has made a basic script for the form i got the main form to send it was the success page i could not get to work but i have now so if you get stuck give me a shout..
https://github.com/tolzhabayev/sagepayForm-php

Why is Paypal displaying SUCCESS and $_POST variables Paypal's site instead of returning to my return_url

Please help me. I'm at a total loss. After more than 2 days of Googling everything I can think of, I still have no answers. This DID work in the Sandbox. My code for sending the tx and token to Paypal.
<form name='verification' action='https://www.paypal.com/cgi-bin/webscr' method='post'>
<input type='hidden' name='at' value='$atoken' />
<input type='hidden' name='tx' value='$tx' />
<input type='hidden' name='rm' value='2' />
<input type='hidden' name='cmd' value='_notify-synch' />");
print("<input type='hidden' name='return' value='$returnUrl' />");
print("<input type='submit' name='submit' value='PDT'>");
print("</form>");
The variable for return url is return_url not return. It should also be an account in your Paypal account.
your amount and tax variables are not being parsed
<input type='hidden' name='at' value='<?=$atoken?>' />
<input type='hidden' name='tx' value='<?=$tx?>' />

Paypal IPN status "autochange"?

i have a question about Paypal IPN (or other methods) to buy in a webpage.
Actually I use the IPN "background" method setting a form like this:
<form id="TPVFORM" name='formTpv' method='post' action='https://www.sandbox.paypal.com/cgi-bin/webscr'>
<input type='hidden' name='cmd' value='_xclick'>
<input type='hidden' name='business' value='xxxxxx#gmail.com'>
<input type='hidden' name='item_name' value='MORE THINGS'>
<input type='hidden' name='item_number' value='99.00'>
<input type='hidden' name='amount' value='23.00'>
<input type='hidden' name='page_style' value='paypal'>
<input type='hidden' name='no_shipping' value='1'>
<input type='hidden' name='return' value='http://www.xxxx.com/web/payOrder'>
<input type='hidden' name='cancel_return' value='http://www.xxxx.com/web/payFail'>
<input type='hidden' name='rm' value='2'>
<input type='hidden' name='no_note' value='1'>
<input type='hidden' name='currency_code' value='EUR'>
<input type='hidden' name='cn' value='PP-BuyNowBF'>
<input type='hidden' name='custom' value=''>
<input type='hidden' name='lc' value='es'>
<input type='hidden' name='country' value='ES'>
<input type="submit" />
</form>
And configure in my Paypal account the address of the IPN check .PHP file.
OK, to this point, all work correctly, but one question break me: Paypal have more "payment" status, "completed", "pending", "in revision".
If the pay status its "completed", I verify the other params, and SAVE the order in my DB, but if the status is, for example "pending", i DONT SAVE the order, if Paypal send a notificacion via IPN when the status is "pending", and "later" send other when the status is "completed" I no have problem, but if ONLY send the first status "pending" or "whaiting" or other think, ¿how i can check the payment status? ¿Paypal send one IPN call to my script when the status change?
Im lost..
YES. Paypal will make a call to your IPN script when the payment is Completed, even if at the initial time of purchase, it is Pending or similar.
Question asked in the PayPal Developer Network

Categories