Limited FuturePay Agreement Parameters

To create a Limited FuturePay agreement the following additional parameters are required in the submission to WorldPay. The names refer to the parameters to be submitted in a form for plain text Select. If an item is to be unset then it should be omitted or submitted with an empty value. If you are using Select Pro then please see the additional notes below.
Parameter Format Option Comments Limitations
futurePayType String: "limited"      
startDate yyyy-mm-dd all Date from which payments can occur Must be in the future and not today. Can be left unset.
startDelayUnit One Digit: 1-day, 2-week, 3-month, 4-year all Unit of the delay between when the agreement is created and when the payments can occur Cannot be set if start date is specified
startDelayMult integer all Delay unit multiplier. The actual delay is obtained by multiplying the startDelayUnit by startDelayMult. If set must be >=1
noOfPayments integer 0 Limit on the number of payments which can be made under the agreement Positive integer. Set to 0 or leave unset for unlimited.
1 Limit on the number of payments possible in each interval period Cannot be unlimited
2 N/A Must be 0 or unset
3 N/A Must be 0 or unset
intervalUnit One Digit: 1-day, 2-week, 3-month, 4-year 0 Unit of the minimum interval between payments Can be left unset. Must not be set if number of payments is 1
1 Unit of the period in which number of payments is limited Must be set
2 N/A Must not be set
3 Unit of the period in which payment amount is limited Must be set
intervalMult integer 0 Unit multiplier of the minimum interval between payments Can be left not set. Must not be set if number of payments is 1
1 Unit multiplier of the period in which number of payments is limited Must always be set to the value 1
2 N/A Must not be set
3 Unit multiplier of the period in which payment amount is limited Must always be set to the value 1
amountLimit decimal 0 Individual payment amount limit Leave unset or set to zero for unlimited
1 Individual payment amount limit Must be set to a positive, non-zero value
2 Agreement payment amount limit Must be set to a positive, non-zero value
3 Payment amount limit for interval period Must be set to a positive, non-zero value
endDate yyyy-mm-dd all End date of the agreement, past which no payments are possible Must be in the future and not before the start date. Can be left unset.
lengthUnit One Digit: 1-day, 2-week, 3-month, 4-year all The unit of the period of time for which payments will be possible under the agreement Cannot be set if endDate is specified
lengthMult integer all The unit multiplier for the period of time for which payments will be possible under the agreement. The period is calculated by multiplying lengthUnit by lengthMult. The period must be at least one day.Cannot be set if endDate is specified.
option One Digit: 0, 1, 2 or 3   Determines the operation of the agreement Must be one of the listed values.

In addition to these parameters the following must be set as for a normal purchase submission:

Parameter Comments
instId  
cartId Merchants reference for the agreement and immediate payment if present
cost Should be set to 0 unless there is also an immediate payment
currency Currency for amounts specified in the agreement and immediate payment if present
desc Description for the agreement and immediate payment if present

Select Pro

You need to create a FuturePay object representing your agreement and attach it to the purchase token using the method "setFuturePay". The description and cart ID set on the purchase token are assigned to the agreement. The purchase token may also contain an immediate transaction.

Constructing a FuturePay Object

There is only one constructor for a Limited FuturePay Agreement. The constructor will throw an ArgumentException if the parameters passed to it are invalid.

public LimitedFuturePay
         (Date startDate, TimePeriod startDelay, 
          int noOfPayments, TimePeriod interval, 
          CurrencyAmount amountLimit, Date endDate, 
          TimePeriod agreementLength, 
          short option) throws ArgumentException

FuturePay Home Page