Get all payment methods and include pre-authorized payment tokens when available

GET /payment-methods?include=paymentTokens

This request returns all payment methods with included pre-authorized tokens.

The list will contain the pre-authorized amount (incl. currency), the purpose PRNs, all information about the payment method, and the paymentToken that can be used to complete the payment.
If no payment method is associated with a pre-authorized token, the result will contain only the payment methods.

Query parameters

  • include string Required

    Value is paymentTokens.

  • When provided allows filtering by PACE resource name(s). Only payment methods suitable for the given purpose are returned.

Responses

  • 200 application/vnd.api+json

    All the payment methods with pre-authorized amounts and purpose PRNs.

    Hide response attributes Show response attributes object
    • data array[object]
      Hide data attributes Show data attributes object
      • type string

        Value is paymentMethod.

      • id string(uuid)

        Payment method ID

      • Hide attributes attributes Show attributes attributes object
        • kind string

          one of sepa, creditcard, paypal, paydirekt, dkv, applepay, ...

        • status string

          The desired status for a payment method is verified, this means the method is ready to use. A payment method that has the status created has yet to be verified. This is the case for payment methods, which have an asynchronous verification process, e.g., paydirekt (waiting for an email).

          Values are created, verified, pending, or unacceptable.

        • PACE resource name(s) to payment method vendor

        • twoFactor boolean

          indicates if the payment method kind requires two factors later on

        • approvalURL string(url)

          URL for the user to call in order to approve this payment method.

        • alias string

          Customer chosen alias for the payment method

        • implicit boolean

          Implicit (true) payment methods are read-only and cannot be deleted, e.g., ApplePay

        • pacePay boolean

          Identifies if the payment method is a PACE payment method (true) or a broker method (false)

        • Mandatory transaction attribute validator

          Hide mandatoryAuthorisationAttributes attributes Show mandatoryAuthorisationAttributes attributes object

          Mandatory transaction attribute validator

        • expiry string(date-time)

          Expiry date of the payment method. If empty or not present the payment method does not have an expiry date.

        • managed boolean

          Managed (true) payment methods are read-only and cannot be deleted other than by the client (oauth/oidc) that created them.

      • meta object
        Hide meta attribute Show meta attribute object
        • Merchant name if the request was made in a way that a merchant name can be determined. For example if requesting payment methods for a specific gas station, it is the merchant name at that gas station.

      • Hide relationships attributes Show relationships attributes object
        • Hide paymentMethodVendor attribute Show paymentMethodVendor attribute object
          • data object
            Hide data attributes Show data attributes object
            • type string

              Value is paymentMethodVendor.

            • id string(uuid)
        • Hide paymentMethodKind attribute Show paymentMethodKind attribute object
          • data object
            Hide data attributes Show data attributes object
            • type string

              Value is paymentMethodKind.

            • id string(uuid)
        • Hide paymentTokens attribute Show paymentTokens attribute object
          • data array[object]
            Hide data attributes Show data attributes object
            • type string

              Value is paymentToken.

            • id string(uuid)
    • included array[object]
      Hide included attributes Show included attributes object
      • type string

        Value is paymentToken.

      • id string

        Payment Token ID

      • Hide attributes attributes Show attributes attributes object
        • amount number(decimal)

          The amount that this token represents.

        • currency string

          Currency as specified in ISO-4217.

          Format should match the following pattern: ^[A-Z]{3}$.

        • value string

          paymentToken value. Format might change (externally provided - by payment provider)

        • validUntil string(date-time)

          The datetime (iso8601) after which the token is no longer valid. May not be provided.

        • PACE resource name of the accountPRN that this is being charged to.

        • purposePRNs array[string]

          PACE resource name(s) of one or multiple resources, for which the payment was authorized.

      • Hide relationships attribute Show relationships attribute object
        • Hide paymentMethod attribute Show paymentMethod attribute object
          • data object
            Hide data attributes Show data attributes object
            • type string

              Value is paymentMethod.

            • id string(uuid)
  • 401 application/vnd.api+json

    OAuth token missing or invalid or a linked identity is missing.

    Linked identity missing is a special case where you need to make sure that the user has additionally logged in / authorized with a third-party.

    This is not relevant for most use-cases.

    The specific error code that identifies a missing linked identity is missing-linked-identity

    Example:

      {
          "errors": [
              {
                  "id": "cbgmhslmp1o9or9kh1p0",
                  "title": "Missing linked identity for authorized access",
                  "detail": "Linked identity is needed to access this resource, please check why the user does not have a linked identity",
                  "status": "401",
                  "code": "missing-linked-identity"
              }
          ]
      }
    
    Hide response attribute Show response attribute object

    Error objects provide additional information about problems encountered while performing an operation. Errors also contain codes besides title and message which can be used for checks even if the detailed messages might change.

    * 1000: generic error * 1001: payment processing temporarily unavailable * 1002: requested amount exceeds the authorized amount of the provided token * 1003: implicit payment methods cannot be modified * 1004: payment method rejected by provider * provider:payment-method-rejected: payment method rejected by provider (identical to 1004) * rule:product-denied: Product restrictions forbid transaction, e.g., forbidden fuel type - token authorized only for Diesel but attempted to fuel Super.

    • errors array[object]
      Hide errors attributes Show errors attributes object
      • id string

        A unique identifier for this particular occurrence of the problem.

      • status string

        the HTTP status code applicable to this problem, expressed as a string value.

      • code string

        an application-specific error code, expressed as a string value.

      • title string

        A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization.

      • detail string

        a human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized.

      • source object

        An object containing references to the source of the error.

        Hide source attributes Show source attributes object
        • pointer string

          A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/data" for a primary data object, or "/data/attributes/title" for a specific attribute].

        • A string indicating which URI query parameter caused the error.

      • meta object

        a meta object containing non-standard meta-information about the error.

        Hide meta attribute Show meta attribute object
  • 406 application/vnd.api+json

    The specified accept header is invalid

    Hide response attribute Show response attribute object

    Error objects provide additional information about problems encountered while performing an operation. Errors also contain codes besides title and message which can be used for checks even if the detailed messages might change.

    * 1000: generic error * 1001: payment processing temporarily unavailable * 1002: requested amount exceeds the authorized amount of the provided token * 1003: implicit payment methods cannot be modified * 1004: payment method rejected by provider * provider:payment-method-rejected: payment method rejected by provider (identical to 1004) * rule:product-denied: Product restrictions forbid transaction, e.g., forbidden fuel type - token authorized only for Diesel but attempted to fuel Super.

    • errors array[object]
      Hide errors attributes Show errors attributes object
      • id string

        A unique identifier for this particular occurrence of the problem.

      • status string

        the HTTP status code applicable to this problem, expressed as a string value.

      • code string

        an application-specific error code, expressed as a string value.

      • title string

        A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization.

      • detail string

        a human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized.

      • source object

        An object containing references to the source of the error.

        Hide source attributes Show source attributes object
        • pointer string

          A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/data" for a primary data object, or "/data/attributes/title" for a specific attribute].

        • A string indicating which URI query parameter caused the error.

      • meta object

        a meta object containing non-standard meta-information about the error.

        Hide meta attribute Show meta attribute object
  • 422 application/vnd.api+json

    The request was well-formed but was unable to be followed due to semantic errors.

    Hide response attribute Show response attribute object

    Error objects provide additional information about problems encountered while performing an operation. Errors also contain codes besides title and message which can be used for checks even if the detailed messages might change.

    * 1000: generic error * 1001: payment processing temporarily unavailable * 1002: requested amount exceeds the authorized amount of the provided token * 1003: implicit payment methods cannot be modified * 1004: payment method rejected by provider * provider:payment-method-rejected: payment method rejected by provider (identical to 1004) * rule:product-denied: Product restrictions forbid transaction, e.g., forbidden fuel type - token authorized only for Diesel but attempted to fuel Super.

    • errors array[object]
      Hide errors attributes Show errors attributes object
      • id string

        A unique identifier for this particular occurrence of the problem.

      • status string

        the HTTP status code applicable to this problem, expressed as a string value.

      • code string

        an application-specific error code, expressed as a string value.

      • title string

        A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization.

      • detail string

        a human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized.

      • source object

        An object containing references to the source of the error.

        Hide source attributes Show source attributes object
        • pointer string

          A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/data" for a primary data object, or "/data/attributes/title" for a specific attribute].

        • A string indicating which URI query parameter caused the error.

      • meta object

        a meta object containing non-standard meta-information about the error.

        Hide meta attribute Show meta attribute object
  • 500 application/vnd.api+json

    Internal server error

    Hide response attribute Show response attribute object

    Error objects provide additional information about problems encountered while performing an operation. Errors also contain codes besides title and message which can be used for checks even if the detailed messages might change.

    * 1000: generic error * 1001: payment processing temporarily unavailable * 1002: requested amount exceeds the authorized amount of the provided token * 1003: implicit payment methods cannot be modified * 1004: payment method rejected by provider * provider:payment-method-rejected: payment method rejected by provider (identical to 1004) * rule:product-denied: Product restrictions forbid transaction, e.g., forbidden fuel type - token authorized only for Diesel but attempted to fuel Super.

    • errors array[object]
      Hide errors attributes Show errors attributes object
      • id string

        A unique identifier for this particular occurrence of the problem.

      • status string

        the HTTP status code applicable to this problem, expressed as a string value.

      • code string

        an application-specific error code, expressed as a string value.

      • title string

        A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization.

      • detail string

        a human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized.

      • source object

        An object containing references to the source of the error.

        Hide source attributes Show source attributes object
        • pointer string

          A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/data" for a primary data object, or "/data/attributes/title" for a specific attribute].

        • A string indicating which URI query parameter caused the error.

      • meta object

        a meta object containing non-standard meta-information about the error.

        Hide meta attribute Show meta attribute object
GET /payment-methods?include=paymentTokens
curl \
 -X GET https://api.pace.cloud/pay/2024-2/payment-methods?include=paymentTokens&include=paymentTokens \
 -H "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "data": [
    {
      "type": "paymentMethod",
      "id": "d7101f72-a672-453c-9d36-d5809ef0ded6",
      "attributes": {
        "kind": "string",
        "status": "verified",
        "identificationString": "DEUTSCHEBANK XX 3000",
        "vendorPRN": "prn:cms:payment-method-vendors:3af4b4a7-33fc-4930-9c2d-6eea7e488398",
        "twoFactor": true,
        "approvalURL": "string",
        "alias": "My wifes card",
        "implicit": false,
        "pacePay": true,
        "mandatoryAuthorisationAttributes": [
          {
            "name": "vin",
            "regex": "[A-Z][0-9]+",
            "maxLength": 8
          },
          {
            "name": "driverVehicleID",
            "regex": "[0-9a-zA-Z]+",
            "maxLength": 10
          },
          {
            "name": "mileage",
            "regex": "[0-9]+",
            "maxLength": 8
          },
          {
            "name": "numberPlate",
            "regex": "[A-Z][0-9]+",
            "maxLength": 8
          },
          {
            "name": "additionalData",
            "regex": "[0-9]+",
            "maxLength": 12
          }
        ],
        "expiry": "2006-01-02T15:04:05Z",
        "managed": false
      },
      "meta": {
        "merchantName": "PACE"
      },
      "relationships": {
        "paymentMethodVendor": {
          "data": {
            "type": "paymentMethodVendor",
            "id": "33331f72-a672-453c-9d36-d5809ef0ded6"
          }
        },
        "paymentMethodKind": {
          "data": {
            "type": "paymentMethodKind",
            "id": "33331f72-a672-453c-9d36-d5809ef0ded6"
          }
        },
        "paymentTokens": {
          "data": [
            {
              "type": "paymentToken",
              "id": "33331f72-a672-453c-9d36-d5809ef0ded6"
            }
          ]
        }
      },
      "links": {
        "authorize": {
          "href": [
            "/pay/payment-methods/6b071c65-ef8b-4794-8745-e53728b7617f/authorize",
            "/pay/payment-method-kinds/applepay/authorize"
          ],
          "meta": {
            "authFlow": "token-provided"
          }
        }
      }
    }
  ],
  "included": [
    {
      "type": "paymentToken",
      "id": "33331f72-a672-453c-9d36-d5809ef0ded6",
      "attributes": {
        "amount": 23,
        "currency": "EUR",
        "value": "12c52345c1x34",
        "validUntil": "2024-05-04T09:42:00+00:00",
        "accountPRN": [
          "prn:pay:accounts:pace"
        ],
        "purposePRNs": [
          "prn:poi:gas-stations:124e522d-65ef-4386-b7e0-00d2eceeadc6",
          "prn:cms:fuels:ron95"
        ]
      },
      "relationships": {
        "paymentMethod": {
          "data": {
            "type": "paymentMethod",
            "id": "33331f72-a672-453c-9d36-d5809ef0ded6"
          }
        }
      }
    }
  ]
}
Response examples (401)
{
  "errors": [
    {
      "id": "string",
      "links": {
        "about": "string"
      },
      "status": "string",
      "code": "string",
      "title": "string",
      "detail": "string",
      "source": {
        "pointer": "string",
        "parameter": "string"
      },
      "meta": {}
    }
  ]
}
Response examples (406)
{
  "errors": [
    {
      "id": "string",
      "links": {
        "about": "string"
      },
      "status": "string",
      "code": "string",
      "title": "string",
      "detail": "string",
      "source": {
        "pointer": "string",
        "parameter": "string"
      },
      "meta": {}
    }
  ]
}
Response examples (422)
{
  "errors": [
    {
      "id": "string",
      "links": {
        "about": "string"
      },
      "status": "string",
      "code": "string",
      "title": "string",
      "detail": "string",
      "source": {
        "pointer": "string",
        "parameter": "string"
      },
      "meta": {}
    }
  ]
}
Response examples (500)
{
  "errors": [
    {
      "id": "string",
      "links": {
        "about": "string"
      },
      "status": "string",
      "code": "string",
      "title": "string",
      "detail": "string",
      "source": {
        "pointer": "string",
        "parameter": "string"
      },
      "meta": {}
    }
  ]
}