Payment Methods

Payment methods represent the type of payment sources (e.g., Credit Card, PayPal or Apple Pay) offered in a market. They can have a price and must be present before placing an order.

The payment method object

A payment method object is returned as part of the response body of each successful create, list, retrieve or update API call. The following table contains the list of all its fields along with their type, description and example values.
Object fields:
payment_source_type
string
Can be one of 'PaypalPayment' or 'CreditCard'
Example:
CreditCard
name
string
Payment source type, titleized
Example:
Credit Card
price_amount_cents
integer
The payment methos's price, in cents
Example:
0
price_amount_float
float
The payment methos's price, number
Example:
0.0
formatted_price_amount
string
The payment methos's price, formatted
Example:
€0,00
id
integer
Unique identifier for the resource.
Example:
1234
created_at
datetime
Time at which the resource was created.
Example:
2018-01-01T12:00:00.000Z
updated_at
datetime
Time at which the resource was last updated.
Example:
2018-01-01T12:00:00.000Z
reference
string
A string that you can use to add your own identifier to the resource. This can be useful for intergrating the resource to an external system, like an ERP, a marketing tool or a CRM.
Example:
ANYREFEFERNCE
metadata
object
Set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the resource in a structured format.
Example:
{"foo":"bar"}
relationship (N:1)
The associated market.
relationship (N:1)
The associated payment gateway.

Create a payment method

To create a new payment method, send a POST request to the /api/payment_methods endpoint, passing the resource arguments in the request body. The following table contains the list of all the possible arguments, along with their type, description and examples values. All the arguments marked as required must be present in the request.
Arguments:
payment_source_type
required
Can be one of 'PaypalPayment' or 'CreditCard'
Example:
CreditCard
price_amount_cents
required
The payment methos's price, in cents
Example:
0
reference
optional
A string that you can use to add your own identifier to the resource. This can be useful for intergrating the resource to an external system, like an ERP, a marketing tool or a CRM.
Example:
ANYREFEFERNCE
metadata
optional
Set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the resource in a structured format.
Example:
#
required
The associated market.
required
The associated payment gateway.
Example request:
POST /api/payment_methods HTTP/1.1
Content-Type: application/vnd.api+json
Accept: application/vnd.api+json

{
  "data": {
    "type": "payment_methods",
    "attributes": {
      "payment_source_type": "CreditCard",
      "price_amount_cents": "0"
    },
    "relationships": {
      "market": {
        "data": {
          "type": "markets",
          "id": "1234"
        }
      },
      "payment_gateway": {
        "data": {
          "type": "payment_gateways",
          "id": "1234"
        }
      }
    }
  }
}
Example response: 201 Created
HTTP/1.1 201 Created
Content-Type: application/vnd.api+json

{
  "data": {
    "id": "1234",
    "type": "payment_methods",
    "links": {
      "self": "https://your-brand.commercelayer.io/api/payment_methods/1234"
    },
    "attributes": {
      "payment_source_type": "CreditCard",
      "name": "Credit Card",
      "price_amount_cents": "0",
      "price_amount_float": "0.0",
      "formatted_price_amount": "€0,00",
      "id": "1234",
      "created_at": "2018-01-01T12:00:00.000Z",
      "updated_at": "2018-01-01T12:00:00.000Z",
      "reference": "ANYREFEFERNCE",
      "metadata": {
        "foo": "bar"
      }
    },
    "relationships": {
      "market": {
        "links": {
          "self": "https://your-brand.commercelayer.io/api/payment_methods/1234/relationships/market",
          "related": "https://your-brand.commercelayer.io/api/payment_methods/1234/market"
        }
      },
      "payment_gateway": {
        "links": {
          "self": "https://your-brand.commercelayer.io/api/payment_methods/1234/relationships/payment_gateway",
          "related": "https://your-brand.commercelayer.io/api/payment_methods/1234/payment_gateway"
        }
      }
    },
    "meta": {
      "mode": "test"
    }
  }
}

List all payment methods

To fetch a collection of payment methods, send a GET request to the /api/payment_methods endpoint.

Example request:
GET /api/payment_methods HTTP/1.1
Accept: application/vnd.api+json
Example response: 200 OK
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json

{
  "data": [
    {
      "id": "1234",
      "type": "payment_methods",
      "links": {
        "self": "https://your-brand.commercelayer.io/api/payment_methods/1234"
      },
      "attributes": {
        "payment_source_type": "CreditCard",
        "name": "Credit Card",
        "price_amount_cents": "0",
        "price_amount_float": "0.0",
        "formatted_price_amount": "€0,00",
        "id": "1234",
        "created_at": "2018-01-01T12:00:00.000Z",
        "updated_at": "2018-01-01T12:00:00.000Z",
        "reference": "ANYREFEFERNCE",
        "metadata": {
          "foo": "bar"
        }
      },
      "relationships": {
        "market": {
          "links": {
            "self": "https://your-brand.commercelayer.io/api/payment_methods/1234/relationships/market",
            "related": "https://your-brand.commercelayer.io/api/payment_methods/1234/market"
          }
        },
        "payment_gateway": {
          "links": {
            "self": "https://your-brand.commercelayer.io/api/payment_methods/1234/relationships/payment_gateway",
            "related": "https://your-brand.commercelayer.io/api/payment_methods/1234/payment_gateway"
          }
        }
      },
      "meta": {
        "mode": "test"
      }
    },
    {
      "other": "... 24 payment_methods (first page)"
    }
  ],
  "meta": {
    "record_count": 125,
    "page_count": 5
  },
  "links": {
    "first": "/api/payment_methods?page[number]=1&page[size]=25",
    "prev": "/api/payment_methods?page[number]=2&page[size]=25",
    "next": "/api/payment_methods?page[number]=4&page[size]=25",
    "last": "/api/payment_methods?page[number]=5&page[size]=25"
  }
}
Available filters
idpayment_source_typeprice_amount_centsreferenceidscreated_at_fromcreated_at_toupdated_at_fromupdated_at_to
Sortable attributes
payment_source_typeprice_amount_centsidcreated_atupdated_atreference

Retrieve a payment method

To fetch a single payment method, send a GET request to the /api/payment_methods/{{id}} endpoint, where {{id}} is the id of the resource that you want to retrieve.
Example request:
GET /api/payment_methods/1234 HTTP/1.1
Accept: application/vnd.api+json
Example response: 200 OK
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json

{
  "data": {
    "id": "1234",
    "type": "payment_methods",
    "links": {
      "self": "https://your-brand.commercelayer.io/api/payment_methods/1234"
    },
    "attributes": {
      "payment_source_type": "CreditCard",
      "name": "Credit Card",
      "price_amount_cents": "0",
      "price_amount_float": "0.0",
      "formatted_price_amount": "€0,00",
      "id": "1234",
      "created_at": "2018-01-01T12:00:00.000Z",
      "updated_at": "2018-01-01T12:00:00.000Z",
      "reference": "ANYREFEFERNCE",
      "metadata": {
        "foo": "bar"
      }
    },
    "relationships": {
      "market": {
        "links": {
          "self": "https://your-brand.commercelayer.io/api/payment_methods/1234/relationships/market",
          "related": "https://your-brand.commercelayer.io/api/payment_methods/1234/market"
        }
      },
      "payment_gateway": {
        "links": {
          "self": "https://your-brand.commercelayer.io/api/payment_methods/1234/relationships/payment_gateway",
          "related": "https://your-brand.commercelayer.io/api/payment_methods/1234/payment_gateway"
        }
      }
    },
    "meta": {
      "mode": "test"
    }
  }
}

Update a payment method

To update an existing payment method, send a PATCH request to the /api/payment_methods/{{id}} endpoint, where {{id}} is the id of the resource that you want to update. The following table contains the list of all the possible arguments that you can pass with the request body, along with their type, description and examples values. Please note that all arguments are optional.
Arguments:
payment_source_type
optional
Can be one of 'PaypalPayment' or 'CreditCard'
Example:
CreditCard
price_amount_cents
optional
The payment methos's price, in cents
Example:
0
reference
optional
A string that you can use to add your own identifier to the resource. This can be useful for intergrating the resource to an external system, like an ERP, a marketing tool or a CRM.
Example:
ANYREFEFERNCE
metadata
optional
Set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the resource in a structured format.
Example:
#
optional
The associated market.
optional
The associated payment gateway.
Example request:
PATCH /api/payment_methods/1234 HTTP/1.1
Content-Type: application/vnd.api+json
Accept: application/vnd.api+json

{
  "data": {
    "type": "payment_methods",
    "id": 1234,
    "attributes": {
      "payment_source_type": "CreditCard"
    },
    "relationships": {
    }
  }
}
Example response: 200 OK
HTTP/1.1 200 OK
Content-Type: application/vnd.api+json

{
  "data": {
    "id": "1234",
    "type": "payment_methods",
    "links": {
      "self": "https://your-brand.commercelayer.io/api/payment_methods/1234"
    },
    "attributes": {
      "payment_source_type": "CreditCard",
      "name": "Credit Card",
      "price_amount_cents": "0",
      "price_amount_float": "0.0",
      "formatted_price_amount": "€0,00",
      "id": "1234",
      "created_at": "2018-01-01T12:00:00.000Z",
      "updated_at": "2018-01-01T12:00:00.000Z",
      "reference": "ANYREFEFERNCE",
      "metadata": {
        "foo": "bar"
      }
    },
    "relationships": {
      "market": {
        "links": {
          "self": "https://your-brand.commercelayer.io/api/payment_methods/1234/relationships/market",
          "related": "https://your-brand.commercelayer.io/api/payment_methods/1234/market"
        }
      },
      "payment_gateway": {
        "links": {
          "self": "https://your-brand.commercelayer.io/api/payment_methods/1234/relationships/payment_gateway",
          "related": "https://your-brand.commercelayer.io/api/payment_methods/1234/payment_gateway"
        }
      }
    },
    "meta": {
      "mode": "test"
    }
  }
}

Delete a payment method

To delete a payment method, send a DELETE request to the /api/payment_methods/{{id}} endpoint, where {{id}} is the id of the resource that you want to delete.
Example request:
DELETE /api/payment_methods/1234 HTTP/1.1
Accept: application/vnd.api+json
Example response: 204 No Content
HTTP/1.1 204 No Content

Get our machine-readable JSON schema that follows the OpenAPI Specification (formerly Swagger).

Get our Postman collection in one click and start making real calls to Commerce Layer API in minutes.

Get in touch with our support team if you have any questions or want to learn more about Commerce Layer.