Get all ready-to-use payment methods for user

GET /payment-methods?filter[status]=valid

This request will return a list of supported payment methods for the current user that they can, in theory, use. That is, ones that are valid and can immediately be used.

This is as opposed to the regular /payment-methods, which does not categorize payment methods as valid for use.

You should trigger this when the user is approaching on a gas station with fueling support to get a list of available payment methods.

If the list is empty, you can ask the user to add a payment method to use PACE fueling.

Query parameters

  • filter[status] string Required

    Value is valid.

  • 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 that could be used.

    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)

        • Hide mandatoryAuthorisationAttributes attributes Show mandatoryAuthorisationAttributes attributes object
        • 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.

        • Indicates if the payment method is eligible for discounts.

      • 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]
      Any of:
  • 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
    • 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.

  • 404 application/vnd.api+json

    Resource not found

    Hide response attribute Show response attribute object
    • 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.

  • 406 application/vnd.api+json

    The specified accept header is invalid

    Hide response attribute Show response attribute object
    • 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.

  • 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
    • 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.

  • 500 application/vnd.api+json

    Internal server error

    Hide response attribute Show response attribute object
    • 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.

GET /payment-methods?filter[status]=valid
curl \
 -X GET https://api.pace.cloud/pay/2024-3/payment-methods?filter[status]=valid&filter%5Bstatus%5D=valid \
 -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,
        "isEligibleForDiscounts": true
      },
      "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": [
    {
      "id": "33331f72-a672-453c-9d36-d5809ef0ded6",
      "type": "paymentMethodVendor",
      "attributes": {
        "logo": {
          "href": "/cms/images/payment-method-vendors/mastercard.png",
          "variants": [
            {
              "dark": {
                "href": "/cms/images/payment-method-vendors/mastercard-dark.png"
              }
            }
          ]
        },
        "name": "Mastercard",
        "slug": "mastercard"
      }
    },
    {
      "id": "33331f72-a672-453c-9d36-d5809ef0ded6",
      "type": "paymentMethodKind",
      "attributes": {
        "name": "SEPA direct debit",
        "fuelcard": false,
        "implicit": true,
        "twoFactor": true,
        "vendorPRNs": [
          "prn:cms:payment-method-vendors:3af4b4a7-33fc-4930-9c2d-6eea7e488398",
          "prn:cms:payment-method-vendors:d546bbe8-e707-43ae-8345-0709e30e710f"
        ]
      }
    }
  ]
}
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 (404)
{
  "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": {}
    }
  ]
}