--- title: shopPayPaymentRequestSessionSubmit - Storefront API description: > Finalizes a [Shop Pay payment request session](/docs/api/storefront/unstable/objects/ShopPayPaymentRequestSession). Call this mutation after creating a session with [`shopPayPaymentRequestSessionCreate`](/docs/api/storefront/unstable/mutations/shopPayPaymentRequestSessionCreate). The [`idempotencyKey`](/docs/api/storefront/unstable/mutations/shopPayPaymentRequestSessionSubmit#arguments-idempotencyKey) argument ensures the payment transaction occurs only once, preventing duplicate charges. On success, returns a [`ShopPayPaymentRequestReceipt`](/docs/api/storefront/unstable/objects/ShopPayPaymentRequestReceipt) with the processing status and a receipt token. For a complete integration guide including the JavaScript SDK setup and checkout flow, refer to the [Shop Component API documentation](https://shopify.dev/docs/api/commerce-components/pay). For implementation steps, see the [development journey guide](https://shopify.dev/docs/api/commerce-components/pay/development-journey). For common error scenarios, see the [troubleshooting guide](https://shopify.dev/docs/api/commerce-components/pay/troubleshooting-guide). api_version: unstable api_name: storefront source_url: html: >- https://shopify.dev/docs/api/storefront/unstable/mutations/shopPayPaymentRequestSessionSubmit md: >- https://shopify.dev/docs/api/storefront/unstable/mutations/shopPayPaymentRequestSessionSubmit.md --- # shop​Pay​Payment​Request​Session​Submit mutation Finalizes a [Shop Pay payment request session](https://shopify.dev/docs/api/storefront/unstable/objects/ShopPayPaymentRequestSession). Call this mutation after creating a session with [`shopPayPaymentRequestSessionCreate`](https://shopify.dev/docs/api/storefront/unstable/mutations/shopPayPaymentRequestSessionCreate). The [`idempotencyKey`](https://shopify.dev/docs/api/storefront/unstable/mutations/shopPayPaymentRequestSessionSubmit#arguments-idempotencyKey) argument ensures the payment transaction occurs only once, preventing duplicate charges. On success, returns a [`ShopPayPaymentRequestReceipt`](https://shopify.dev/docs/api/storefront/unstable/objects/ShopPayPaymentRequestReceipt) with the processing status and a receipt token. For a complete integration guide including the JavaScript SDK setup and checkout flow, refer to the [Shop Component API documentation](https://shopify.dev/docs/api/commerce-components/pay). For implementation steps, see the [development journey guide](https://shopify.dev/docs/api/commerce-components/pay/development-journey). For common error scenarios, see the [troubleshooting guide](https://shopify.dev/docs/api/commerce-components/pay/troubleshooting-guide). ## Arguments * idempotency​Key [String!](https://shopify.dev/docs/api/storefront/unstable/scalars/String) required The idempotency key is used to guarantee an idempotent result. * order​Name [String](https://shopify.dev/docs/api/storefront/unstable/scalars/String) The order name to be used for the order created from the payment request. * payment​Request [Shop​Pay​Payment​Request​Input!](https://shopify.dev/docs/api/storefront/unstable/input-objects/ShopPayPaymentRequestInput) required The final payment request object. * token [String!](https://shopify.dev/docs/api/storefront/unstable/scalars/String) required A token representing a payment session request. *** ## Shop​Pay​Payment​Request​Session​Submit​Payload returns * payment​Request​Receipt [Shop​Pay​Payment​Request​Receipt](https://shopify.dev/docs/api/storefront/unstable/objects/ShopPayPaymentRequestReceipt) The checkout on which the payment was applied. * user​Errors [\[User​Errors​Shop​Pay​Payment​Request​Session​User​Errors!\]!](https://shopify.dev/docs/api/storefront/unstable/objects/UserErrorsShopPayPaymentRequestSessionUserErrors) non-null Error codes for failed Shop Pay payment request session mutations. *** ## Examples * ### shopPayPaymentRequestSessionSubmit reference