# Payment Methods The PaymentMethod represents a reusable and structured model for storing payment method details. It is designed to simplify integration with external Payment Service Providers (PSPs). It holds information about the PSP and the actual method used. A Customer or Associate can have up to **50** active and **100** inactive PaymentMethods. A Project can contain up to **1000000** PaymentMethods that are not assigned to a Customer or Associate. ## Representations #### PaymentMethod [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethod). #### PaymentMethodDraft [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodDraft). #### PaymentMethodPagedQueryResponse [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodPagedQueryResponse). #### PaymentMethodReference [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodReference). #### PaymentMethodStatus [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodStatus). #### PaymentMethodToken The token value is sensitive, and we recommend that it is not logged when being handled in API Extensions. [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodToken). ## Get PaymentMethod ### Get PaymentMethod by ID [endpoint definition](/api/projects/payment-methods.md?urn=ctp:api:endpoint:/\{projectKey}/payment-methods/\{id}:GET). ### Get PaymentMethod by Key [endpoint definition](/api/projects/payment-methods.md?urn=ctp:api:endpoint:/\{projectKey}/payment-methods/key=\{key}:GET). ## Query PaymentMethods [endpoint definition](/api/projects/payment-methods.md?urn=ctp:api:endpoint:/\{projectKey}/payment-methods:GET). ## Check if PaymentMethod exists ### Check if PaymentMethod exists by ID [endpoint definition](/api/projects/payment-methods.md?urn=ctp:api:endpoint:/\{projectKey}/payment-methods/\{id}:HEAD). ### Check if PaymentMethod exists by Key [endpoint definition](/api/projects/payment-methods.md?urn=ctp:api:endpoint:/\{projectKey}/payment-methods/key=\{key}:HEAD). ### Check if PaymentMethod exists by Query Predicate [endpoint definition](/api/projects/payment-methods.md?urn=ctp:api:endpoint:/\{projectKey}/payment-methods:HEAD). ## Create PaymentMethod [endpoint definition](/api/projects/payment-methods.md?urn=ctp:api:endpoint:/\{projectKey}/payment-methods:POST). ## Update PaymentMethod ### Update PaymentMethod by ID [endpoint definition](/api/projects/payment-methods.md?urn=ctp:api:endpoint:/\{projectKey}/payment-methods/\{id}:POST). ### Update PaymentMethod by Key [endpoint definition](/api/projects/payment-methods.md?urn=ctp:api:endpoint:/\{projectKey}/payment-methods/key=\{key}:POST). ## Update actions #### Set Key [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodSetKeyAction). #### Set Name [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodSetNameAction). #### Set Method [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodSetMethodAction). #### Set Default [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodSetDefaultAction). #### Set PaymentMethodStatus [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodSetPaymentMethodStatusAction). #### Set PaymentInterface [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodSetPaymentInterfaceAction). #### Set InterfaceAccount [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodSetInterfaceAccountAction). #### Set Custom Type [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodSetCustomTypeAction). #### Set CustomField [type definition](/api/projects/payment-methods.md?urn=ctp:api:type:PaymentMethodSetCustomFieldAction). ## Delete PaymentMethod ### Delete PaymentMethod by ID [endpoint definition](/api/projects/payment-methods.md?urn=ctp:api:endpoint:/\{projectKey}/payment-methods/\{id}:DELETE). ### Delete PaymentMethod by Key [endpoint definition](/api/projects/payment-methods.md?urn=ctp:api:endpoint:/\{projectKey}/payment-methods/key=\{key}:DELETE). ## Related pages - [Area overview page with navigation](/api.md) - [Previous page: Orders](/api/projects/orders.md) - [Next page: Payments](/api/projects/payments.md)