Dynamic Recurring Billing

Executive Summary

Dynamic Recurring Billing allows you to vary your pricing on a daily basis for trial and subscription products. You can offer one subscription package to some consumers, and a different package to others. For example, Consumer A can be billed $3.50 for 4 days, recurring at $28.95 every 30 days; while Consumer B is charged $5 for 7 days, recurring at $34.95 every 30 days. You choose what is charged in each case. To set it up, contact SegPay tech support.

There are three components involved in dynamic recurring billing, which your SegPay rep will discuss with you:

1. Create a price point: specify minimum/maximum ranges for the initial and recurring charges; and initial and recurring length (number of days) of your subscription periods.

2. Set up an API call at checkout: Determine as many different pricing offers as you want, within the ranges you defined in step 1, and set up an API call at checkout to notify SegPay on the fly of the specific pricing and subscription length to assign to the consumer signing up.

3. Dynamically construct a Join link: SegPay will respond to your API call with an encrypted value, which you will drop into the Join link to ensure the customer is sent to the payment page with the correct billing info.

Price Point

Your SegPay rep will create a Dynamic Recurring Billing price point. You’ll be asked to define the ranges for both the initial trial price and length, and recurring price and length. Use the example values in the following table as a guide:

Minimum

Maximum

Initial Price

2.95

100.00

Initial Length

3 days

30 days

Recurring Price

19.95

49.95

Recurring Length

30 days

60 days

You’ll be able to request any subscription pricing within these ranges. When you make your pricing request – via an API call discussed in the next section – SegPay’s system will validate that the pricing you requested is within these approved ranges.

Once the price point is created, SegPay will add it to a package, associating the new price point with a specific website and set of postback notifications, which you can use for all dynamic recurring pricing. Ask your SegPay rep if you are eligible to add Dynamic Multi Currency (DMC) to the payment package, to allow consumers the option of paying in their local currency.

API Call

The next step in using dynamic recurring billing is to set up a call to SegPay Reporting Services (SRS), which is triggered during member sign-up and sends SegPay the pricing information you choose for that member. If you don’t already have a User ID and Access Key for SRS, ask your SegPay Account Manager to provide them. Now you can set up your call using the following URL:

https://srs.segpay.com/MerchantServices/DynamicRecurring/?MerchantID=string&InitialAmount=value&InitialLength=value&RecurringAmount=value&RecurringLength=value

The parameters required for this call are defined as follows:

Parameter

Definition

MerchantID

Your SegPay Merchant ID, which you can get from your SegPay rep, or in the Merchant Portal at sa.segpay.com, under Merchant Setup, Merchant Management, Merchant Information.

InitialAmount

The amount you want to charge the consumer for the initial trial period. No need to specify currency.

InitialLength

The length, in days, of the consumer’s first billing period.

RecurringAmount

The recurring amount to charge the consumer after the first billing period ends.

RecurringLength

The length, in days, of the consumer’s recurring subscription period.

When you make the above request, you will be prompted for a Username and Password to authenticate (this is the SRS User ID and Access Key).

 

After you provide these credentials, an encrypted hashed value will be returned, that looks something like this: 4940196f-10ed-4264-96ec-0a576f142c5a.

Store that value with the record for this purchase, and populate it in the Join Link used to send the member to the payment page, as discussed in the next section.

You may receive one of the following error messages, instead of the encrypted value: 

  • The initial price is outside your approved limits.
  • The initial length is outside your approved limits.
  • The recurring price is outside your approved limits.
  • The recurring length is outside your approved limits.

Join Links

Get your Join link(s) from your SegPay rep, or in the Merchant Portal under Merchant Management, Packages (select a package and copy the Button Code). The base Join link will look like this:

https://secure2.segpay.com/billing/poset.cgi?

You will pass two required parameters in your Dynamic Recurring Billing Join link: 

Parameters

Definition

Eticketid

A concatenation of your dynamic recurring billing package ID and price point ID (format XXXXXX:YYYYY, where XXXXXX=package ID and YYYYY=price point ID). Get these values from your SegPay rep, or in the Merchant Portal under Merchant Management, Packages (Package ID) and Merchant Management, Price Points (Price Point ID).

DynamicPricingID

The encrypted value returned when you made your API call (see previous section).  Create a script, for example using JavaScript or PHP, to populate this parameter with the returned value.

Example of Join Link for dynamic recurring billing, with parameters:

https://secure2.segpay.com/billing/poset.cgi?x-eticketid=XXXXXX:YYYYY&DynamicPricingID=4940196f-10ed-4264-96ec-0a576f142c5a

That link will send your consumer to the payment page with the correct subscription pricing.