| 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 |
public LimitedFuturePay
(Date startDate, TimePeriod startDelay,
int noOfPayments, TimePeriod interval,
CurrencyAmount amountLimit, Date endDate,
TimePeriod agreementLength,
short option) throws ArgumentException
null
should be used.