Standing Instruction Parameters

Step 1: Create a SI Parameters Object

Create a class PayUSIParams object using the code similar to the following:

/* Objective C */
PayUSIParams *siParam = [[PayUSIParams alloc] initWithBillingAmount:<#(NSString * _Nonnull)#>                                                   paymentStartDate:<#(NSDate * _Nonnull)#>                                                     
paymentEndDate:<#(NSDate * _Nonnull)#>                                                       billingCycle:<#(enum PayUBillingCycle)#>                                                    billingInterval:<#(NSNumber * _Nonnull)#>];
//Swift
let siParam = PayUSIParams(billingAmount: <#T##String#>,
paymentStartDate: <#T##Date#>,
paymentEndDate: <#T##Date#>,
billingCycle: <#T##PayUBillingCycle#>,
billingInterval: <#T##NSNumber#>,
billingLimit: <#T##PayuBillingLimit#>,
billingRule: <#T##PayuBillingRule#>)

Step 2: Post Parameters

ParameterDescription
EnableSI
mandatory
Boolean: This flag must contain any of the following to indicate if SI or subscriptions is required for the payment link:

1: The request is eligible for SI

0: The request is eligible for SI

Note: If EnableSI=1 in the JSON, the values for the all other fields (mandatory) in this JSON must be posted.
billingAmount
mandatory
String Contains the billing amount
billingCycle
mandatory
String Billing Cycle defines whether customer needs to be charged over Daily, Weekly basis, Monthly or Yearly basis or one time,
billingInterval
mandatory
NSNumber Billing Interval is closely coupled with value of “billingCycle” and denotes at what frequency, the subscription plan needs to be executed.
billingLimit
mandatory
String The possible values for this parameter are:

- ON = On the specific date
- BEFORE = Before and on the specific date
- AFTER = After and on the specific date
If no value is passed, then by default this is considered as ‘AFTER’
billingRule
mandatory
String

MAX = Maximum amount. Lesser than this or equal to this amount can be debited in recurring debits

EXACT= Exact to this amount can be debited in recurring debits
Note: If no value is passed, then by default this is considered as ‘MAX’
billingCurrency
mandatory
String Currency in which the amount needs to be collected. By default, it is 'INR'.
paymentStartDate
mandatory
Date Start date of recurring payment
paymentEndDate
mandatory
Date End Date of recurring payment
freeTrial
optional
Boolean This flag is to indicate any of the following:

0: This is not a trial subscription. If this parameter is not posted, will be assumed as 0.

1: This is a trial subscription.