Patch a payment method

PATCH /payment-methods/{paymentMethodId}

Allows to change fields that can be changed by the customer.

Path parameters

application/vnd.api+json

Body Required

  • data object
    Hide data attributes Show data attributes
    • type string

      Value is paymentMethod.

    • id string(uuid)

      Payment method ID

    • Hide attributes attributes Show attributes attributes
      • alias string

        Customer chosen alias for the payment method

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

Responses

  • 200 application/vnd.api+json

    The patched payment method.

    Hide response attribute Show response attribute object
    • data object
      Hide data attributes Show data attributes
      • type string

        Value is paymentMethod.

      • id string(uuid)

        Payment method ID

      • Hide attributes attributes Show attributes attributes
        • 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
        • 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
        • Hide paymentMethodVendor attribute Show paymentMethodVendor attribute
          • data object
            Hide data attributes Show data attributes
            • type string

              Value is paymentMethodVendor.

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

              Value is paymentMethodKind.

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

              Value is paymentToken.

            • 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
        • 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
  • 404 application/vnd.api+json

    Resource not found

    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
        • 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
  • 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
        • 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
  • 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
        • 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
PATCH /payment-methods/{paymentMethodId}
curl \
 -X PATCH https://api.pace.cloud/pay/2024-1/payment-methods/d7101f72-a672-453c-9d36-d5809ef0ded6 \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/vnd.api+json"
Request examples
{
  "data": {
    "type": "paymentMethod",
    "id": "d7101f72-a672-453c-9d36-d5809ef0ded6",
    "attributes": {
      "alias": "My wifes card",
      "mandatoryAuthorisationAttributes": [
        {
          "name": "vin",
          "regex": "[A-Z][0-9]+",
          "maxLength": 8
        },
        {
          "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"
    }
  }
}
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": "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"
        }
      }
    }
  }
}
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 (500)
{
  "errors": [
    {
      "id": "string",
      "links": {
        "about": "string"
      },
      "status": "string",
      "code": "string",
      "title": "string",
      "detail": "string",
      "source": {
        "pointer": "string",
        "parameter": "string"
      },
      "meta": {}
    }
  ]
}