--- title: customerPaymentMethodRemoteCreate - GraphQL Admin description: "Create a payment method from remote gateway identifiers. NOTE: This operation processes payment methods asynchronously. The returned payment method will initially have incomplete details. Developers must poll this payment method using customerPaymentMethod query until all payment method details are available, or the payment method is revoked (usually within seconds)." api_version: 2025-01 api_name: admin type: mutation api_type: graphql source_url: html: https://shopify.dev/docs/api/admin-graphql/2025-01/mutations/customerpaymentmethodremotecreate md: https://shopify.dev/docs/api/admin-graphql/2025-01/mutations/customerpaymentmethodremotecreate.md --- # customer​Payment​Method​Remote​Create mutation Requires `write_customers` access scope. Also: Requires `write_customer_payment_methods` scope. Create a payment method from remote gateway identifiers. NOTE: This operation processes payment methods asynchronously. The returned payment method will initially have incomplete details. Developers must poll this payment method using customerPaymentMethod query until all payment method details are available, or the payment method is revoked (usually within seconds). ## Arguments * customer​Id [ID!](https://shopify.dev/docs/api/admin-graphql/2025-01/scalars/ID) required The ID of the customer. * remote​Reference [Customer​Payment​Method​Remote​Input!](https://shopify.dev/docs/api/admin-graphql/2025-01/input-objects/CustomerPaymentMethodRemoteInput) required Remote gateway payment method details. *** ## Customer​Payment​Method​Remote​Create​Payload returns * customer​Payment​Method [Customer​Payment​Method](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/CustomerPaymentMethod) The customer payment method. Note that the returned payment method may initially be in an incomplete state. Developers should poll this payment method using the customerPaymentMethod query until all required payment details have been processed. * user​Errors [\[Customer​Payment​Method​Remote​User​Error!\]!](https://shopify.dev/docs/api/admin-graphql/2025-01/objects/CustomerPaymentMethodRemoteUserError) non-null The list of errors that occurred from executing the mutation. *** ## Examples * ### customerPaymentMethodRemoteCreate reference ## Mutation Reference ```graphql mutation customerPaymentMethodRemoteCreate($customerId: ID!, $remoteReference: CustomerPaymentMethodRemoteInput!) { customerPaymentMethodRemoteCreate(customerId: $customerId, remoteReference: $remoteReference) { customerPaymentMethod { # CustomerPaymentMethod fields } userErrors { field message } } } ``` ## Input ```json { "customerId": "gid://shopify//10079785100", "remoteReference": { "stripePaymentMethod": { "customerId": "", "paymentMethodId": "" }, "authorizeNetCustomerPaymentProfile": { "customerProfileId": "", "customerPaymentProfileId": "" }, "braintreePaymentMethod": { "customerId": "", "paymentMethodToken": "" } } } ``` ##### Variables ``` { "customerId": "gid://shopify//10079785100", "remoteReference": { "stripePaymentMethod": { "customerId": "", "paymentMethodId": "" }, "authorizeNetCustomerPaymentProfile": { "customerProfileId": "", "customerPaymentProfileId": "" }, "braintreePaymentMethod": { "customerId": "", "paymentMethodToken": "" } } } ``` ##### Schema ``` input CustomerPaymentMethodRemoteInput { stripePaymentMethod: RemoteStripePaymentMethodInput authorizeNetCustomerPaymentProfile: RemoteAuthorizeNetCustomerPaymentProfileInput braintreePaymentMethod: RemoteBraintreePaymentMethodInput } input RemoteStripePaymentMethodInput { customerId: String! paymentMethodId: String } input RemoteAuthorizeNetCustomerPaymentProfileInput { customerProfileId: String! customerPaymentProfileId: String } input RemoteBraintreePaymentMethodInput { customerId: String! paymentMethodToken: String } ```