www/apps/resources/references/payment/IPaymentModuleService/methods/payment.IPaymentModuleService.createPaymentMethods/page.mdx
import { TypeList } from "docs-ui"
This documentation provides a reference to the createPaymentMethods method. This belongs to the Payment Module.
You should only use this methods when implementing complex customizations. For common cases, check out available workflows instead.
</Note>This method creates payment methods.
const paymentMethods =
await paymentModuleService.createPaymentMethods([
{
provider_id: "pp_stripe_stripe",
data: {
customer_id: "cus_123",
},
context: {
accountHolder: {
data: {
id: "acc_holder_123",
},
},
},
},
{
provider_id: "pp_stripe_stripe",
data: {
customer_id: "cus_123",
},
context: {
accountHolder: {
data: {
id: "acc_holder_123",
},
},
},
},
])
<TypeList types={[{"name":"data","type":"CreatePaymentMethodDTO[]","description":"The payment methods to create.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"provider_id","type":"string","description":"The provider's ID.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"data","type":"Record<string, unknown>","description":"Necessary data for the associated payment provider to process the payment.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"context","type":"PaymentProviderContext","description":"Necessary context data for the associated payment provider.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"account_holder","type":"PaymentAccountHolderDTO","description":"The account holder information, if available for the payment provider.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"customer","type":"PaymentCustomerDTO","description":"The customer information from Medusa.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotency_key","type":"string","description":"Idempotency key for the request, if the payment provider supports it. It will be ignored otherwise.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"sharedContext","type":"Context","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type TManager, which is a typed parameter passed to the context to specify the type of the transactionManager.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type TManager, which is a typed parameter passed to the context to specify the type of the manager.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"string","description":"A string indicating the isolation level of the context. Possible values are READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, or SERIALIZABLE.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"boolean","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"string","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"string","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"runId","type":"string","description":"A string indicating the ID of the current run.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"IMessageAggregator","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"string","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"string","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"string","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"preventReleaseEvents","type":"boolean","description":"preventReleaseEvents","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isCancelling","type":"boolean","description":"A boolean value indicating whether the current workflow execution is being cancelled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"cancelingFromParentStep","type":"boolean","description":"Weither or not a sub workflow cancellation is being triggered from a parent step.\nIf true, the parent step will not be triggered by the sub workflow.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createPaymentMethods"/>
<TypeList types={[{"name":"Promise","type":"Promise<PaymentMethodDTO[]>","optional":false,"defaultValue":"","description":"The created payment methods.","expandable":false,"children":[{"name":"PaymentMethodDTO[]","type":"PaymentMethodDTO[]","optional":false,"defaultValue":"","description":"","expandable":false,"children":[{"name":"id","type":"string","description":"The ID of the payment method.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"data","type":"Record<string, unknown>","description":"The data of the payment method, as returned by the payment provider.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"provider_id","type":"string","description":"The ID of the associated payment provider.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createPaymentMethods"/>
This method creates a payment method.
const paymentMethod =
await paymentModuleService.createPaymentMethods({
provider_id: "pp_stripe_stripe",
data: {
customer_id: "cus_123",
},
context: {
accountHolder: {
data: {
id: "acc_holder_123",
},
},
},
},
})
<TypeList types={[{"name":"data","type":"CreatePaymentMethodDTO","description":"The payment method to create.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"provider_id","type":"string","description":"The provider's ID.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"data","type":"Record<string, unknown>","description":"Necessary data for the associated payment provider to process the payment.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"context","type":"PaymentProviderContext","description":"Necessary context data for the associated payment provider.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"account_holder","type":"PaymentAccountHolderDTO","description":"The account holder information, if available for the payment provider.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"customer","type":"PaymentCustomerDTO","description":"The customer information from Medusa.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotency_key","type":"string","description":"Idempotency key for the request, if the payment provider supports it. It will be ignored otherwise.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"sharedContext","type":"Context","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type TManager, which is a typed parameter passed to the context to specify the type of the transactionManager.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type TManager, which is a typed parameter passed to the context to specify the type of the manager.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"string","description":"A string indicating the isolation level of the context. Possible values are READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, or SERIALIZABLE.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"boolean","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"string","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"string","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"runId","type":"string","description":"A string indicating the ID of the current run.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"IMessageAggregator","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"string","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"string","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"string","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"preventReleaseEvents","type":"boolean","description":"preventReleaseEvents","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isCancelling","type":"boolean","description":"A boolean value indicating whether the current workflow execution is being cancelled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"cancelingFromParentStep","type":"boolean","description":"Weither or not a sub workflow cancellation is being triggered from a parent step.\nIf true, the parent step will not be triggered by the sub workflow.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createPaymentMethods"/>
<TypeList types={[{"name":"Promise","type":"Promise<PaymentMethodDTO>","optional":false,"defaultValue":"","description":"The created payment method.","expandable":false,"children":[{"name":"id","type":"string","description":"The ID of the payment method.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"data","type":"Record<string, unknown>","description":"The data of the payment method, as returned by the payment provider.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"provider_id","type":"string","description":"The ID of the associated payment provider.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createPaymentMethods"/>