# Custom Payment Method Types Open Payment Method (OPM) service is a framework developed by Zuora, which allows you to integrate your custom payment method to Zuora subscription, billing, and revenue management in a dynamic and flexible manner. With the support of the OPM service, you are able to define your custom payment method types and create custom payment methods of the defined types. The custom payment method of the defined type can only be used with the custom payment gateway that you set up through the Universal Payment Connector (UPC) service. It cannot be used with the Zuora out-of-box gateway integrations such as GoCardless, Stripe, etc. You can define up to 20 custom payment method types for one tenant. Do not define your fields with the [Zuora-reserved fields](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/MB_Set_up_custom_payment_gateways_and_payment_methods/C_Configure_and_manage_your_custom_payment_method_types_through_Zuora_REST_APIs#Zuora-reserved_fields). See [Set up custom payment gateways and payment methods](https://knowledgecenter.zuora.com/Billing/Billing_and_Payments/MB_Set_up_custom_payment_gateways_and_payment_methods) for more information about the OPM and UPC services. Note: You can only use the bearer token to access the "Custom Payment Method Types" API operations. Access with `apiAccessKeyId` and `apiSecretAccessKey` is not supported. ## Create a draft custom payment method type - [POST /open-payment-method-types](https://developer.zuora.com/v1-api-reference/api/custom-payment-method-types/post_createdraftopenpaymentmethodtype.md): Creates a draft version of a custom payment method type. Revision number 1 is assigned to this version. You can update your draft version through the Update a custom payment method type operation. You must publish your draft version through the Publish a custom payment method type operation before your custom payment method type goes live. ## Publish a custom payment method type - [PUT /open-payment-method-types/publish/{paymentMethodTypeName}](https://developer.zuora.com/v1-api-reference/api/custom-payment-method-types/put_publishopenpaymentmethodtype.md): Publish the latest draft revision of a specific custom payment method type. ## Update a custom payment method type - [PUT /open-payment-method-types/{paymentMethodTypeName}](https://developer.zuora.com/v1-api-reference/api/custom-payment-method-types/put_updateopenpaymentmethodtype.md): Update the latest draft version of your custom payment method type. If the latest draft version has been published, the revision number is increased by 1 after the draft version is updated. You must publish your latest revision again through the Publish a custom payment method type operation before your updated custom payment method type goes live. Note: In the request body, provide all the fields that define this custom payment method type including fields to be updated and the unchanged fields. ## Retrieve a specific draft revision of a custom payment method type - [GET /open-payment-method-types/{paymentMethodTypeName}/draft/{revisionNumber}](https://developer.zuora.com/v1-api-reference/api/custom-payment-method-types/get_openpaymentmethodtyperevision.md): Retrieves a specific draft revision of a custom payment method type. ## Retrieve a published custom payment method type - [GET /open-payment-method-types/{paymentMethodTypeName}/published](https://developer.zuora.com/v1-api-reference/api/custom-payment-method-types/get_openpaymentmethodtypepublish.md): Retrieves a published custom payment method type.