How to Create a PayPal Subscription Button in WordPress

In my PayPal Button plugin there are certain shortcode parameters that you can use to create a PayPal subscription button and accept recurring payments from your WordPress site.

recurring subscription button created with wp paypal website payments standard wordpress plugin

PayPal Subscription Button Parameters

Before getting into adding a shortcode lets take a look at the parameters available for a subscription/recurring payment button.

Button

Type of payment button. For a subscription button you need to specify button=”subscribe”.

a3

Regular subscription price. This would be a numeric value.

p3

Regular subscription duration between each billing. This would be a numeric value based on t3.

t3

Regular subscription units of duration. Allowable values are:

  • D – for days; allowable range for “p3” is 1 to 90.
  • W – for weeks; allowable range for “p3” is 1 to 52.
  • M – for months; allowable range for “p3” is 1 to 24.
  • Y – for years; allowable range for “p3” is 1 to 5.

Src

Settings this value to 1 will make a subscription payment to recur. You don’t really have any reason to set this to 0. But if you do so the payment will not recur, which means it will be a one-time payment (like a buy button).

Srt

Number of times a subscription payment will recur. This would be a numeric value with a range of 2 to 52. You don’t need to specify it if you want the subscription to continue until cancelled.

Subscription with No Recurring Times

Example 1

[wp_paypal button="subscribe" name="My product" a3="2.99" p3="1" t3="M" src="1"]

If your currency is USD, It means $2.99 USD for each month. The subscription will continue to recur until cancelled.

Example 2

[wp_paypal button="subscribe" name="My product" a3="3.50" p3="2" t3="W" src="1"]

If your currency is USD, It means $3.50 USD for each two weeks. The subscription will continue to recur until cancelled.

Subscription with Recurring Times

Example 1

[wp_paypal button="subscribe" name="My product" a3="2.99" p3="1" t3="M" src="1" srt="4"]

It means $2.99 USD for each month, for 4 installments. After this the payment will not recur anymore.

Example 2

[wp_paypal button="subscribe" name="My product" a3="3.50" p3="2" t3="W" src="1" srt="6"]

It means $3.50 USD for each two weeks, for 6 installments. After this the payment will not recur anymore.

Subscription with Trial

You can use some additional parameters to offer a trial with your recurring/subscription payments.

a1

Trial period price (similar to a3 parameter). In order to offer a free trial you can specify 0.

p1

Trial period duration (similar to p3 parameter).

t1

Trial period units of duration (similar to t3 parameter).

Example 1

[wp_paypal button="subscribe" name="My product" a1="1.99" p1="10" t1="D" a3="2.99" p3="1" t3="M" src="1" srt="4"]

It means $1.99 USD for the first 10 days, then $2.99 USD for each month, for 4 installments. After this the payment will not recur anymore.

Example 2

[wp_paypal button="subscribe" name="My product" a1="1.49" p1="1" t1="M" a3="3.49" p3="1" t3="M" src="1"]

It means $1.49 USD for the first month, then $3.49 USD for each month. The subscription will continue to recur until cancelled.

Subscription with Free Trial

Example 1

[wp_paypal button="subscribe" name="My product" a1="0" p1="1" t1="M" a3="2.99" p3="1" t3="M" src="1"]

It means free for the first month, then $2.99 USD for each month. The subscription will continue to recur until cancelled.

Subscription with Trial 2

You can use some additional parameters to offer a trial 2 with your recurring/subscription payments.

a2

Trial period price (similar to a1 parameter). This parameter can only be specified if you also specify a1.

p2

Trial period duration (similar to p1 parameter).

t2

Trial period units of duration (similar to t1 parameter).

Example 1

[wp_paypal button="subscribe" name="My product" a1="1.99" p1="10" t1="D" a2="2.99" p2="1" t2="W" a3="3.99" p3="1" t3="M" src="1" srt="4"]

It means $1.99 USD for the first 10 days, then $2.99 USD for one week, then $3.99 USD for each month, for 4 installments. After this the payment will not recur anymore.

Example 2

[wp_paypal button="subscribe" name="My product" a1="1.49" p1="1" t1="M" a2="2.49" p2="1" t2="M" a3="3.49" p3="1" t3="M" src="1"]

It means $1.49 USD for the first month, then $2.49 USD for one month, then $3.49 USD for each month. The subscription will continue to recur until cancelled.

The subscription button can be customized further using the Variable Subscription extension. It can also be used to accept recurring donation payments.

Check out the PayPal Button Plugin page for more information.

77 thoughts on “How to Create a PayPal Subscription Button in WordPress”

  1. Hello!
    I wish to customize the payments option for WP PAYPAL plugin. I need some help. I wish to have payments button instead of donation. Can someone help me with this?

    Reply
    • @Shashi, The plugin also supports buy now and add to cart type buttons.

      Reply
  2. Is it possible to have this without the need to click “return to merchant” after payment completion?

    Reply
  3. I am having trouble getting my subscription to work. I have made sure that my PayPal business account does not require encryption and does not have a return URL. But it still does not work.

    I have this in testing mode.

    Here is my shortcode.

    [wp_paypal button="subscribe" name="Starter" amount="180.00" recurrence="1" period="M" src="1"]

    I get the message:

    “Things don’t appear to be working at the moment. Please try again later.”

    Interestingly, I tried a different shortcode and got closer.

    [wp_paypal button="subscription" name="Starter" amount="180.00" recurrence="1" period="M" src="1"]

    This gave me a button with the title “undefined”.

    This brought me to the PayPal login. I could see the amount at the top. But I was unable to login to my account (even though I have validated that I can previously). It gives me the following message.

    “Some of your info isn’t correct. Please try again.”

    Help please!

    Thanks,
    Dale

    Reply
    • @Dale, There might be something wrong on the PayPal’s end. I copied and pasted the exact shortcode onto my site. It took me to the PayPal payment page without any error.

      Reply
      • Thank you for responding. I went to PayPal and created the button directly, worked great.

        Reply
  4. 1) I’ve attempted to assign my own images to the buttons but they are not displaying to replace the default images.

    2) The Buy Now buttons are working fine connecting to PayPal, but I’m having issues with Subscribe buttons. I get the same error message that Dale Ferrario posted on April 4, 2020, “Things don’t appear to be working at the moment. Please try again later.” I’m still in testing mode, but you can view the buttons I’ve created at https://expectingnewlife.com/mentorship-program.

    3) When I attempt to complete a test transaction, the PayPal login page tells me my info isn’t correct, but I’m 100% certain that it is. Could the problem be that I’m trying to make a purchase from myself?

    I am needing to create a total of 12 buttons – 6 buy now and 6 subscriptions – so your help would be appreciated.

    Reply
  5. We need to have customers input text WITH their subscription. Is there anyway to do that?

    Reply
    • @Ben, You mean they will state what they are paying for?

      Reply
      • Basically, yes. They actually need to give us information (their domain name) WITH their subscription purchase.

        Thanks.

        Reply
        • @Ben, There is no way to enter additional information for a subscription. If you leave the item name parameter empty (name=””) it will show a description box on the payment page.

          Reply
  6. The subscription button isn’t working. I entered this code into a short code block,

    [wp_paypal button="subscribe" name="My product" a3="22.20" p3="1" t3="W" src="1" srt="20" target="_blank"]

    It opens PayPal into a new window with an error that says,
    “Things don’t appear to be working at the moment. Please try again later.”

    I don’t know what to do. 🙁

    Reply
    • @Kelly, Please provide a link to the page in question so I can take a look.

      Reply
  7. Is there a way to add shipping to a subscription short code?

    Reply
    • @Mari, PayPal only supports shipping for buy now and add to cart buttons.

      Reply
  8. Hello,
    great plugin.

    I have a question about setting up a subscription with recurring times. I’ve set srt=”12″ and would assume that after 12 installments, the payment will NOT recur anymore.

    However, when I place a test order through PayPal, the order text reads, “Subscription Details:$4.70 USD for each month, for 12 installments (Renews until you cancel)”

    This seems to indicate that the subscription will renew automatically, instead of payments stopping after the 12 installments. What have I misunderstood?

    Here is the button short code:
    [wp_paypal button="subscribe" name="Plague Birds 2021 Month To Month Comic Calendar International" a3="5.35" p3="1" t3="M" src="1" srt="12" no_shipping="2" return="http://www.nationalwastecomics.com/thank-you/"]

    Thanks for your help!

    Reply
    • @Leif, Your setup looks correct. I think what PayPal is trying to say is that the payment will continue to recur within this period (12 installments) until cancelled.

      Reply
      • Noor, Thanks for your reply. That’s what I was hoping, but it wasn’t 100% clear. cheers.

        Reply
  9. Is there a way to define multiple different subscription options in a drop down then have the user select the one they want? We want to be able to have users select from:

    3 months @ $30.00 per month
    6 months @ $27.00 per month
    12 months @ $24.00 per month

    Reply
    • @AndyP, This is not possible at the moment.

      Reply
  10. Is is possible to start the subscription at a future date?

    As of now if I subscribe, the subscription starts on the same day. Can I make it that it starts on the 1st of the following month? Like when I pay on October 11 it starts on November 1?

    Reply
    • @Christian, You can set up a free trial.

      Reply
  11. Hi
    Thank for your great work.
    Can we get any parameters return on success page to let’s us know that it is success payment from paypal ( because user can reload our success page without payment) and we can base on that to record on database the success result.

    Thank you very much

    Reply
  12. Hi ,

    Great Plugin . I am facing a issue with return parameter , when I use my site link for the return parameter it is shows error , but when use example one which is mentioned in the site it is working . Below is the short code where I am facing the issue.
    [wp_paypal button="subscribe" name="My Product" a1="0" p1="7" t1="D" a3="29.00" p3="1" t3="M" src="1" return="https://www.louveyogastudio.com/payment-confirmation/"]

    Reply
    • @Nisha, Please provide a link to the page where you have the button.

      Reply
      • @Noor Alam
        This is the Link
        https://www.louveyogastudio.com/paypal-testing/

        first button with return link as my website page link, which is not working .
        second button with default return link , which is working.

        Reply
        • @Nisha, None of them is working for me. I get this error – “Things don’t appear to be working at the moment. Please try again later”.

          Reply
    • Hi Nisha
      Can you get any parameter on return page https://www.louveyogastudio.com/payment-confirmation/ such as transaction_id, mount… and how to get it?

      Thank You

      Reply
  13. How can a payer cancel a recurring payment?

    Reply
    • @Peter, They can cancel from their PayPal account.

      Reply
      • Thank you Noor, but what if they have no PayPal account?

        Reply
  14. Many thanks!

    Reply
  15. Hello,
    I want Users to pay $15 as down payment for reservation, and later pay the $24 balance 48 hours before the event they signed up for. Is this possible with the WP Paypal plugin?

    Reply
    • @Olu, This is not possible unfortunately.

      Reply

Leave a Comment