Can you create trial shorter than subscription period in PayPal? - paypal

Can you create trial shorter than subscription period in PayPal?
Say, subscription period is 1 month and make trial 2 weeks.
It looks possible, but is it really on practice?
https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/

Yes indeed, we do this, the subscription is monthly and the trials are weekly.
Easy enough to test in the sandbox.

Here is the code for PayPal Subscription button with period 1 month and trial 2 weeks.
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="business" value="YOUR PAYPAL ACOUNT MERCHANT ID">
<input type="hidden" name="lc" value="C2">
<input type="hidden" name="item_name" value="test_sub">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="no_shipping" value="2">
<input type="hidden" name="a1" value="2.00">
<input type="hidden" name="p1" value="2">
<input type="hidden" name="t1" value="W">
<input type="hidden" name="src" value="1">
<input type="hidden" name="a3" value="10.00">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="M">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="bn" value="PP-SubscriptionsBF:btn_subscribeCC_LG.gif:NonHosted">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
For the more information about PayPal Subscription button, you can refer to the link below.
https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/subscribe_step_1/

Related

PayPal HTML Button Missing Invoice Parameter

I implemented a Paypal HTML button (payment and subscription) to direct the client to the Paypal site to make a payment. Also, I pass the invoice # as a parameter. According to the following documents, invoice is a pass-through variable.
https://developer.paypal.com/docs/paypal-payments-standard/integration-guide/Appx-websitestandard-htmlvariables/#
https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/archive/PP_subscriptions.pdf
In fact, I do receive all parameters (including invoice) as a POST call when testing on my sandbox account. However, when I test on live payments (non-sandbox account), the invoice is not received. However, I receive other payment information such as item_number, custom, transaction id, etc. Also, with live payments, the information is passed through a GET call instead of a POST call.
In summary, why do I receive the invoice parameter from sandbox payments but not with live payments.
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" class="message">
<input type="hidden" name="return" value="<%= (request.isSecure() ? "https" : "http") + "://" + request.getServerName() + "/upgradepayment" %>">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="hosted_button_id" value="...">
<input type="hidden" name="business" value="...">
<input type="hidden" name="item_name" value="...">
<input type="hidden" name="notify_url" value="..."
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="a3" value="...">
<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="sra" value="1">
<input type="hidden" name="invoice" value="...">
<input type="hidden" name="custom" value="...">
<input type="hidden" name="item_number" value="...">
<input id="ok" type="submit" name="submit" value="Pay and Subscribe with PayPal" alt="PayPal - The safer, easier way to pay online" title="PayPal - The safer, easier way to pay online">
</form>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" class="message">
<input type="hidden" value="<%= (request.isSecure() ? "https" : "http") + "://" + request.getServerName() + "/upgradepayment" %>" name="return">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="...">
<input type="hidden" name="item_name" value="...">
<input type="hidden" name="amount" value="...">
<input type="hidden" name="no_shipping" value="0">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="lc" value="CA">
<input type="hidden" name="bn" value="PP-BuyNowBF">
<input type="hidden" name="invoice" value="...">
<input type="hidden" name="custom" value="...">
<input type="hidden" name="item_number" value="...">
<input id="ok" type="submit" name="submit" value="Pay with PayPal" alt="PayPal - The safer, easier way to pay online" title="PayPal - The safer, easier way to pay online">
</form>
edit: I receive the information about subscriptions with instant payment notification (IPN)
I just did a live payment using this code below (your HTML but modified a bit):
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" class="message">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="<BUSINESS_PAYPAL_EMAIL>">
<input type="hidden" name="item_name" value="<ITEM_NAME>">
<input type="hidden" name="notify_url" value="<CALLBACK_URL>"
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="no_shipping" value="1">
<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="sra" value="1">
<input type="hidden" name="invoice" value="<INVOICE_ID>">
<input type="hidden" name="custom" value="<CUSTOM_OPTIONAL>">
<input type="hidden" name="item_number" value="<ITEM_NUMBER>">
<input type="hidden" name="amount" value="<AMOUNT>">
<input id="ok" type="submit" name="submit" value="Pay and Subscribe with PayPal" alt="PayPal - The safer, easier way to pay online" title="PayPal - The safer, easier way to pay online">
</form>
I used https://requestbin.com/ to collect the IPN Callbacks. Here is the screenshot with the invoice:
Make sure you are correctly implementing IPN listener request-response flow.
Your listener should return an empty 200 message back to Paypal to these addresses;
https://ipnpb.sandbox.paypal.com/cgi-bin/webscr (for Sandbox IPNs)
https://ipnpb.paypal.com/cgi-bin/webscr (for live IPNs)
After that you get a VERIFIED message along with parameters.
Make sure to include invoice input (which seems like you already did) in the form.
The invoice is optional and is not passed back to you by default.
There is also an IPN simulator which you can try and make sure your listener is working correctly.
Here is a complete example on how to process IPN messages:
https://gist.github.com/xcommerce-gists/3440401

Cancel URL not showing on paypal

This is my form
<form action="https://sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="#param">
<input type="hidden" name="lc" value="IN">
<input type="hidden" name="item_name" value="MyItem">
<input type="hidden" name="amount" value="100.00">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="button_subtype" value="services">
<input type="hidden" name="cancelUrl" value="http://localhost:9000">
<input type="hidden" name="no_note" value="0">
<input type="hidden" name="bn" value="PP-BuyNowBF:btn_paynowCC_LG.gif:NonHostedGuest">
<input type="image" src="https://www.paypalobjects.com/en_GB/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
What should i also add here so that i can get cancel and back to the buyesr's site option?
Q2- How i will add direct credit card payment rather create paypal account ? please help
i want to show like this
You've misspelt it. It is 'cancel_url'.
on the checkout page, look for the 'cancel_return' hidden form element:
<input type="hidden" name="cancel_return" id="cancel_return" value="" />
set the value of the cancel_return form element to the URL you wish to return to:
<input type="hidden" name="cancel_return" id="cancel_return" value="http://royaltytech.in" />

Upgrading issue "Amount can only be increased by 20% " in paypal

I have integrated the Paypal subscription option into my site.My problem is when i try to upgrade the subscription it shows an error in Paypal
Amount can only be increased by 20%
Subscription amount is $0.25 Upgrade amount is $0.59
How can i increase the percentage of the amount .
the code is following :
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="charset" value="utf-8">
<input type="hidden" name="business" value="freelancecoachpro#gmail.com">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="item_name" value="FreelanceCoachPro Total Connect">
<input type="hidden" name="item_number" value="7">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="a3" value="0.59">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="M"> <!-- Set recurring payments until canceled. -->
<input type="hidden" name="custom" value="1388035301:63:7:b09c926d4df9a5f17221e56cbe688297:6">
<input type="hidden" name="return" value="https://www.freelancecoachpro.com/thank-you/">
<input type="hidden" name="cancel_return" value="https://www.freelancecoachpro.com/subscriptions-5/">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="notify_url" value="http://www.freelancecoachpro.com/paymentreturn/paypalexpress">
<input type="hidden" name="src" value="1">
<input type="hidden" name="modify" value="2"><!-- Display the payment button. -->
<input type="image" name="submit" border="0" src="https://www.freelancecoachpro.com/images/upgrade_button.png" alt="PayPal - The safer, easier way to pay online">
<img alt="" border="0" width="1" height="1" src="https://www.paypal.com/en_US/i/scr/pixel.gif">
</form>
Based on the note for AMT on this page, it looks like this is a PayPal restriction (I would assume Payments Standard would have the same restriction)
Note: For recurring payments with Express Checkout, the payment amount
can be increased by no more than 20% every 180 days (starting when the
profile is created).

PayPal amount value issue

<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="item_name" value="5 day package">
<input type="hidden" name="quantity" value="1">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="amount" value="2.00">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
I Have this code. When it takes me to PayPal page I get the item_name value
I get the quanity value,
But I dont get the amount I get 0.
Was reading paypal docs but didnt found anything usefull.
If any suggestions?
https://developer.paypal.com/webapps/developer/docs/classic/paypal-payments-standard/integration-guide/buynow_buttons/
<!-- Identify your business so that you can collect the payments. -->
<input type="hidden" name="business" value="herschelgomez#xyzzyu.com">
<!-- Specify a Buy Now button. -->
<input type="hidden" name="cmd" value="_xclick">
<!-- Specify details about the item that buyers will purchase. -->
<input type="hidden" name="item_name" value="Hot Sauce-12oz Bottle">
<input type="hidden" name="amount" value="5.95">
<input type="hidden" name="currency_code" value="USD">
<!-- Display the payment button. -->
<input type="image" name="submit" border="0"
src="https://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif"
alt="PayPal - The safer, easier way to pay online">
<img alt="" border="0" width="1" height="1"
src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" >
</form>

Paypal subscription button, dynamin amount

I have to use paypal subscription button. it is working fine. my problem is , If we can make amount dynamic. If not than what is the best option to configure subscription plan with dynamic amount.
My current button code is
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="custom" type="hidden" id="custom" value="<?php echo $this->uri->segment(3); ?>">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="valuedummy">
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
Once try this code
<form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="business" value="me#mybusiness.com">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="no_shipping" value="1">
<input type="image" src="http://www.paypal.com/en_GB/i/btn/x-click-but20.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
<input type="hidden" name="a3" value="5.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="sra" value="1">
</form>
or click this link
or Paypal subscription button
I am currently working on a Paypal subscription page where the user can select from a number of subscriptions (radio buttons). Each radio button has attributes with the values I need:
<input id="4" class="packageRadio" type="radio" value="4" data-desc="6 month package" data-type="M" data-period="6" data-amount="240.00" data-count="2" name="package">
When a user selects a package a jQuery click event function on the radio button adds the required values to my Paypal form.