Postman Collection Examples

Import Postman collections for common FAST payment-link scenarios and configure signed JWT variables.

Import this collection into Postman to test four FAST payment-link scenarios with separate signed JWT variables.

Prerequisites

  1. Configure your FAST environment and obtain the required access as described in the getting started guide.
  2. Build each JWT payload according to Link Configurations.
  3. Sign each JWT with your private key using RS512.

Import the collection

Copy the JSON below into a file named fast-postman-collection.json, then import it into Postman. Set base_url to your target environment and paste a newly signed JWT into the variable for each scenario.

{
  "info": {
    "_postman_id": "a58db788-3c3f-4d2c-8940-188fe0a8af88",
    "name": "FAST — Link Generation Service examples",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "base_url",
      "value": "https://lgs-integ01.feezback.cloud"
    },
    {
      "key": "fixed_amount_jwt",
      "value": ""
    },
    {
      "key": "debtor_entered_amount_jwt",
      "value": ""
    },
    {
      "key": "predefined_debtor_jwt",
      "value": ""
    },
    {
      "key": "no_user_identifier_jwt",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "Fixed amount",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Accept",
            "value": "application/json",
            "type": "text"
          },
          {
            "key": "Content-Type",
            "value": "application/json",
            "type": "text"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"token\": \"{{fixed_amount_jwt}}\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{base_url}}/link",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "link"
          ]
        },
        "description": "Use a JWT whose payload includes payment.transfer.amount.value: \"1.00\" and payment.transfer.amount.editable: true."
      },
      "response": []
    },
    {
      "name": "Debtor-entered amount",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Accept",
            "value": "application/json",
            "type": "text"
          },
          {
            "key": "Content-Type",
            "value": "application/json",
            "type": "text"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"token\": \"{{debtor_entered_amount_jwt}}\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{base_url}}/link",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "link"
          ]
        },
        "description": "Use a JWT whose payload includes payment.transfer.amount.value: null and payment.transfer.amount.editable: true."
      },
      "response": []
    },
    {
      "name": "Predefined debtor account",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Accept",
            "value": "application/json",
            "type": "text"
          },
          {
            "key": "Content-Type",
            "value": "application/json",
            "type": "text"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"token\": \"{{predefined_debtor_jwt}}\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{base_url}}/link",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "link"
          ]
        },
        "description": "Use a JWT whose payload includes payment.debtor.accountType: \"bban\", payment.debtor.account: \"31-094-2020300\", and payment.debtor.editable: false."
      },
      "response": []
    },
    {
      "name": "No user identifier",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Accept",
            "value": "application/json",
            "type": "text"
          },
          {
            "key": "Content-Type",
            "value": "application/json",
            "type": "text"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"token\": \"{{no_user_identifier_jwt}}\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{base_url}}/link",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "link"
          ]
        },
        "description": "Use a JWT that omits flow.userIdentifier and sets flow.userWasAuthenticated to false. The debtor enters their ID in the FAST flow."
      },
      "response": []
    }
  ]
}

Configure the collection variables

VariableSet it to
base_urlhttps://lgs-integ01.feezback.cloud for Integration, or https://lgs-prod.feezback.cloud for Production
fixed_amount_jwtA signed JWT for a payment with a fixed amount
debtor_entered_amount_jwtA signed JWT that lets the debtor enter the amount
predefined_debtor_jwtA signed JWT with a pre-filled debtor BBAN account
no_user_identifier_jwtA signed JWT that omits flow.userIdentifier

Build the JWT payload for each scenario

Include the required fields described in Link Configurations, then add the scenario-specific fields below before signing the token.

Fixed amount

Use this when you want to send a payment amount and allow the debtor to change it.

{
  "payment": {
    "transfer": {
      "amount": {
        "value": "1.00",
        "editable": true
      }
    }
  }
}

Debtor-entered amount

Use this when the debtor must enter the payment amount during the FAST flow.

{
  "payment": {
    "transfer": {
      "amount": {
        "value": null,
        "editable": true
      }
    }
  }
}

Predefined debtor account

Use this when you want to pre-fill the debtor's BBAN account and prevent changes.

{
  "payment": {
    "debtor": {
      "accountType": "bban",
      "account": "31-094-2020300",
      "editable": false
    }
  }
}

No user identifier

Use this when you do not provide a debtor ID in the JWT. The debtor enters their ID in the FAST flow.

{
  "flow": {
    "userWasAuthenticated": false
  }
}

Send a request

  1. Select one of the collection requests.
  2. Confirm that its matching JWT variable contains a fresh RS512-signed token.
  3. Send the request to {{base_url}}/link.
  4. Use the link value from the response to start the payment flow.

A successful response returns a payment link, for example:

https://shl.feezback.cloud/bCIa0cYoSIGd

Generate a new JWT when a token expires. Do not store private keys or signed JWTs in the shared collection.


Did this page help you?