Funding Methods Settings
Enabling a bank customer with access to automatic funding methods to manage their funding methods
Relevant bank customers can register to any of the following funding method:
- SS - smart savings
- RU - round ups
- PYF - pay yourself first
The customer can switch methods anytime.
Switch Automatic Funding Method
Customer registered to an automatically funded program, has decided to change the program:
Two setProgramSettings requests are sent: the first, unenrolling from the current program; the second, enrolling into the new program.
Example:
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "[ID of Enrolled Program – either SS, RU or PYF]",
"userOptIn": false,
"fundingAccountId": "101000008952932",
"accountOptIn": false,
"transferPreferences": [
{
"transferId": "[existing transfer ID]",
"active": false,
}
]
}
}
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "[ID of new program]",
"userOptIn": true,
"fundingAccountId": "[ID of new funding account]",
"accountOptIn": true,
"transferPreferences": [
{
"transferId": "",
"targetAccountId": "[existing target account for goals from enrolledTargetAcocuntGoals fact]",
"transferType": "[transferType of new program]",
"active": true,
"transferTrigger": "[transferTrigger of new program]",
"transferValue": "[value from user if PYF or RU is selected. Value not sent for smartSave]"
}
]
}
}
Update Funding Source
{
"type": "setGoalSettings",
"protocolVersion": "2.6",
"settings": {
"goals": [{
"goalId": "[ID of goal 1]",
"fundingSource": "[ID of new program]"
}]
}
}
{
"type": "setGoalSettings",
"protocolVersion": "2.6",
"settings": {
"goals": [{
"goalId": "[ID of Goal 1]",
"fundingSource": "[ID of new program]"
},
{
"goalId": "[ID of Goal n]",
"fundingSource": "[ID of new program]"
}]
}
Enroll in a Funding Method
setProgramSettings for enrolling in a funding program – this involves:
- enrolling them in the new funding program
- updating the fundingSource of their goals via setGoalSettings
Enroll in a New Funding Method
setProgramSettings for enrolling in a new program:
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "[programId for selected program]",
"userOptIn": true,
"fundingAccountId": "101000008952932",
"accountOptIn": true,
"transferPreferences": [
{
"transferId": "",
"targetAccountId": "101000000214480",
"transferType": "[transferType for program selected]",
"active": true,
"transferTrigger": "[transferTrigger for program selected]",
"transferValue": "[Value defined by user for PYF or RU. Not sent for SS]"
}
]
}
}
Update Funding Source
setProgramSettings to update the funding source, for a single goal or for multiple goals:
{
"type": "setGoalSettings",
"protocolVersion": "2.6",
"settings": {
"goals": [{
"goalId": "[ID of goal 1]",
"fundingSource": "[ID of new program]"
}]
}
}
{
"type": "setGoalSettings",
"protocolVersion": "2.6",
"settings": {
"goals": [{
"goalId": "[ID of Goal 1]",
"fundingSource": "[ID of new program]"
},
{
"goalId": "[ID of Goal n]",
"fundingSource": "[ID of new program]"
}]
}
Pausing a Funding Method
setProgramSettings, to pause the funding method either for a defined end-date, or indefinitely.
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "[ID of enrolled program]",
"fundingAccountId": "[ID of enrolled funding account]",
"pauseStart": "[Current date]",
"pauseEnd": "12/31/2020 12:00:00"
}
}
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "[ID of enrolled program]",
"fundingAccountId": "[ID of enrolled funding account]",
"pauseStart": "[current date]",
"pauseEnd": "12/31/2999 12:00:00"
}
}
Resuming a Funding Program
setProgramSettings to resume the paused funding method.
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "[ID of enrolled program]",
"fundingAccountId": "[ID of enrolled funding account]",
"pauseStart": "",
"pauseEnd": ""
}
}
Stopping a Funding Program
In this scenario, the customer unenrolls from their current funding method. Two definitions are required:
- Step-1: setProgramSettings to stop the funding method.
- Step-2: setGoalSettings to clear the funding source of the existing goals. This can be done for a single or multiple goals.
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "[ID of enrolled program]",
"userOptIn": false,
"fundingAccountId": "[ID of enrolled funding account}",
"accountOptIn": false,
"maxMonthlyAmount": 0,
"minBalance": 0,
"pauseStart": "",
"pauseEnd": "",
"transferPreferences": [
{
"transferId": "[existing transfer ID]",
"active": false,
}
]
}
}
{
"type": "setGoalSettings",
"protocolVersion": "2.6",
"settings": {
"goals": [{
"goalId": "[ID of Goal]",
"fundingSource": ""
}
}
{
"type": "setGoalSettings",
"protocolVersion": "2.6",
"settings": {
"goals": [{
"goalId": "[ID of Goal]",
"fundingSource": ""
},
{
"goalId": "[ID of Goal]",
"fundingSource": ""
}]
}
Transfer Preferences
setProgramSettings to define transfer preferences as follows:
- maxMonthlyAmount and minMonthlyAmountLimitations - RU, and SS
- maxMonthlyAmount limitation - RU, SS
- minMonthlyAmount limitation - PYF, RU, SS
setProgramSettings to set transfer preferences.
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "[ID of enrolled program]",
"fundingAccountId": "[ID of enrolled funding account]",
"maxMonthlyAmount": 1000,
"minBalance": 10
}
}
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "[ID of enrolled program]",
"fundingAccountId": "[ID of enrolled funding account]",
"maxMonthlyAmount": 1000
}
}
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "[ID of enrolled program]",
"fundingAccountId": "[ID of enrolled funding account]",
"minBalance": 10
}
}
Booster Value
setProgramSettings to change booster value for RU, as follows:
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "RU",
"fundingAccountId": "[ID of enrolled funding account]",
"transferPreferences": [{
"transferId": "[transfer ID]",
"targetAccountId": "[ID of enrolled target account]",
"transferType": "RU",
"transferValue": "[value of booster provided by the user]"
}]
}
}
PYF Amount
setProgramSettings to update PYF requested amount. The PYF current amount can be set to a fixed amount of a recurring income, or a percentage of a recurring income.
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "PYF",
"fundingAccountId": "[ID of enrolled funding account]",
"transferPreferences": [{
"transferId": "[transfer ID]",
"transferValue": "[fixed value provided by the user]"
}]
}
}
{
"type": "setProgramSettings",
"protocolVersion": "2.6",
"settings": {
"programId": "PYF",
"fundingAccountId": "[ID of enrolled funding account]",
"transferPreferences": [{
"transferId": "[transfer ID]",
"transferValue": "[percent value provided by the user]"
}]
}
}
Updated about 1 year ago