Omitting channelId routes the customer to CommercePay’s hosted payment page instead, where they pick their own payment method. If you’d rather let CommercePay handle channel selection this way, see APIHosted Session Checkout.
An identifier that represents the CommercePay payment channel. Refer to the id from the response of the APIGet Channel List, or see the Channel List for common values. This parameter can be omitted if you choose to utilize the CommercePay Hosted Payment Web interface.
An identifier that represents the specific upstream payment provider sub-channel (e.g., a bank code for online banking). This becomes mandatory if the chosen channel configuration has isProviderHostChannel: true. Obtain valid values from the APIGet Provider Channels, or see the Channel List for common values.
The transaction payment value. This field exclusively accepts integer units where the final decimals are represented as whole values (e.g., an amount value of 1000 translates to 10.00 in the system backend).
[Conditional] Customer’s user agent. It is recommended to input for a better user experience for specific channels due to different platforms such as desktop, mobile, or app view. Example channels impact: ShopeePay.Maximum string length: 200
Short free-text summary of the transaction.Use English letters, numbers, spaces and basic punctuation (. , - _ ( ) @ /). Avoid emojis and non-English characters: some payment providers remove unsupported characters or shorten the text before using it (for example, FPX keeps only the first 30 characters), so the description shown to the customer by the provider may differ from what you sent. The payment is not rejected when characters are removed.Maximum string length: 100
Target address utilized for asynchronous host-to-host webhook payment status change push actions. See Callback Notifications for the payload and signature verification steps.Maximum string length: 500
The target link for the payment. For redirectionType1 it’s the page to send the customer to. For 4 and 6 it holds the QR code link or payment link instead.
Token that identifies this transaction on CommercePay’s hosted payment page. It’s always returned, so you don’t need to parse it out of redirectUrl, which may point to the payment provider instead.
How many seconds the payment stays valid from the time of this response, for example how long a QR code can be scanned. Only set for channels with a short validity period (QR channels and some card channels), otherwise null. Use transactionExpired for the exact deadline.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"CommercePay","colors":{"primary":"#5D40E6","light":"#9546E9","dark":"#5834E9"},"logo":{"light":"https://mintcdn.com/commercepay/zbo4Bt5Hnzxuhmp1/logo/commercepay-logo-cropped.png?fit=max\u0026auto=format\u0026n=zbo4Bt5Hnzxuhmp1\u0026q=85\u0026s=2818942319162624de2b3de633ee42ed","dark":"https://mintcdn.com/commercepay/zbo4Bt5Hnzxuhmp1/logo/commercepay-logo-cropped.png?fit=max\u0026auto=format\u0026n=zbo4Bt5Hnzxuhmp1\u0026q=85\u0026s=2818942319162624de2b3de633ee42ed"},"favicon":"https://mintcdn.com/commercepay/7PrnGTffSwt18xAA/favicon.ico?fit=max\u0026auto=format\u0026n=7PrnGTffSwt18xAA\u0026q=85\u0026s=5bc0f4406b0009f6658b13dd37c95f37","api":{"playground":{"display":"simple"}},"navbar":{"links":[{"href":"mailto:payments@commerce.asia","label":"Support"}]},"seo":{"metatags":{"google-site-verification":"dUzHLcHfcaknXY13Nu97zc6gj2DguWeqMvoJWcgBCa4","og:image":"/images/commercepay-og-image.png","twitter:image":"/images/commercepay-og-image.png"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"commercepay","hasAudioNarration":false,"actualSubdomain":"commercepay","customDomains":["docs.commercepay.asia"],"gitSource":{"type":"github","owner":"commerceasia","repo":"commercepay-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae2d375bf78690ab5d17709","collectionId":"968a6a75-68b2-4ecd-bf32-e8fd916b1562","liveDeploymentHistoryId":"6ae2d375bf78690ab5d17709","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ae2d375bf78690ab5d17709","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":17},{"language":"default","tag":"Documentation","count":15},{"language":"default","tag":"All APIs","count":13},{"language":"default","tag":"PaymentGateway","count":10},{"language":"default","tag":"Get Started","count":7},{"language":"default","tag":"Payout APIs","count":3},{"language":"default","tag":"Payins","count":3},{"language":"default","tag":"Payouts","count":3},{"language":"default","tag":"Channel","count":2},{"language":"default","tag":"Payin APIs","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"img.nav-logo{height:2.25rem!important;width:auto!important}"}],"page":{"pagePath":"api-reference/direct-integration-api-request-payment","slug":"/api-reference/direct-integration-api-request-payment","pageMetadata":{"title":"Direct Integration","description":"Initiate a checkout transaction and obtain the payment provider redirection URL.","api":"POST https://staging-payments.commerce.asia/api/services/app/PaymentGateway/RequestPayment","href":"/api-reference/direct-integration-api-request-payment"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Initiate a checkout transaction and obtain the payment provider redirection URL.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Badge,CodeBlock,Heading,Note,ParamField,ResponseField,Table}=_components;if(!Badge)_missingMdxReference(`Badge`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Used to initiate a checkout transaction and obtain the secure payment provider redirection URL.`}),`\n`,_jsx(Heading,{level:`2`,id:`request`,children:`Request`}),`\n`,_jsx(Heading,{level:`3`,id:`headers`,children:`Headers`}),`\n`,_jsx(ParamField,{header:`Abp-TenantId`,type:`string`,required:true,id:`param-abp-tenant-id`,children:_jsx(_components.p,{children:`Your unique Merchant ID assigned by CommercePay.`})}),`\n`,_jsx(ParamField,{header:`Authorization`,type:`string`,required:true,id:`param-authorization`,children:_jsx(_components.p,{children:`Your API credentials used for authentication (typically a Bearer token).`})}),`\n`,_jsx(ParamField,{header:`cap-signature`,type:`string`,required:true,id:`param-cap-signature`,children:_jsxs(_components.p,{children:[`A unique security hash used to verify the integrity of the request body. See `,_jsx(_components.a,{href:`/generate-signature`,children:`Generate Signature`}),` for how to generate this.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`body`,children:`Body`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Omitting `,_jsx(_components.code,{children:`channelId`}),` routes the customer to CommercePay’s hosted payment page instead, where they pick their own payment method. If you’d rather let CommercePay handle channel selection this way, see `,_jsx(Badge,{color:`blue`,children:`API`}),` `,_jsx(_components.a,{href:`/api-reference/initial-session`,children:`Hosted Session Checkout`}),`.`]})}),`\n`,_jsx(ParamField,{body:`channelId`,type:`integer`,id:`param-channel-id`,children:_jsxs(_components.p,{children:[`An identifier that represents the CommercePay payment channel. Refer to the `,_jsx(_components.code,{children:`id`}),` from the response of the `,_jsx(Badge,{color:`blue`,children:`API`}),` `,_jsx(_components.a,{href:`/api-reference/get-tenant-channels-by-country`,children:`Get Channel List`}),`, or see the `,_jsx(_components.a,{href:`/channel-list`,children:`Channel List`}),` for common values. This parameter can be omitted if you choose to utilize the CommercePay Hosted Payment Web interface.`]})}),`\n`,_jsx(ParamField,{body:`providerChannelId`,type:`string`,id:`param-provider-channel-id`,children:_jsxs(_components.p,{children:[`An identifier that represents the specific upstream payment provider sub-channel (e.g., a bank code for online banking). This becomes `,_jsx(_components.strong,{children:`mandatory`}),` if the chosen channel configuration has `,_jsx(_components.code,{children:`isProviderHostChannel: true`}),`. Obtain valid values from the `,_jsx(Badge,{color:`blue`,children:`API`}),` `,_jsx(_components.a,{href:`/api-reference/get-provider-channels`,children:`Get Provider Channels`}),`, or see the `,_jsx(_components.a,{href:`/channel-list`,children:`Channel List`}),` for common values.`]})}),`\n`,_jsx(ParamField,{body:`currencyCode`,type:`string`,required:true,id:`param-currency-code`,children:_jsxs(_components.p,{children:[`Currency code with a 3-letter ISO 4217 standard code (e.g., `,_jsx(_components.code,{children:`MYR`}),`).`]})}),`\n`,_jsx(ParamField,{body:`amount`,type:`int64`,required:true,id:`param-amount`,children:_jsxs(_components.p,{children:[`The transaction payment value. This field exclusively accepts integer units where the final decimals are represented as whole values (e.g., an amount value of `,_jsx(_components.code,{children:`1000`}),` translates to `,_jsx(_components.code,{children:`10.00`}),` in the system backend).`]})}),`\n`,_jsxs(ParamField,{body:`referenceCode`,type:`string`,required:true,id:`param-reference-code`,children:[_jsx(_components.p,{children:`The merchant-side unique order reference or invoice tracking sequence code.`}),_jsxs(_components.p,{children:[`Maximum string length: `,_jsx(_components.code,{children:`50`})]})]}),`\n`,_jsxs(ParamField,{body:`ipAddress`,type:`string`,required:true,id:`param-ip-address`,children:[_jsx(_components.p,{children:`The customer’s IP address captured by the merchant server.`}),_jsxs(_components.p,{children:[`Maximum string length: `,_jsx(_components.code,{children:`50`})]})]}),`\n`,_jsxs(ParamField,{body:`userAgent`,type:`string`,id:`param-user-agent`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`[Conditional]`}),` Customer’s user agent. It is recommended to input for a better user experience for specific channels due to different platforms such as desktop, mobile, or app view. Example channels impact: ShopeePay.`]}),_jsxs(_components.p,{children:[`Maximum string length: `,_jsx(_components.code,{children:`200`})]})]}),`\n`,_jsxs(ParamField,{body:`returnUrl`,type:`string`,required:true,id:`param-return-url`,children:[_jsx(_components.p,{children:`The synchronous return URL where the customer’s browser is automatically redirected after the transaction is completed.`}),_jsxs(_components.p,{children:[`Maximum string length: `,_jsx(_components.code,{children:`500`})]})]}),`\n`,_jsx(ParamField,{body:`timestamp`,type:`int64`,required:true,id:`param-timestamp`,children:_jsxs(_components.p,{children:[`Numeric timestamp in milliseconds representing request validation freshness, generated via `,_jsx(_components.code,{children:`new Date().getTime()`}),`. Example: `,_jsx(_components.code,{children:`1621851652617`}),`.`]})}),`\n`,_jsxs(ParamField,{body:`description`,type:`string`,required:true,id:`param-description`,children:[_jsx(_components.p,{children:`Short free-text summary of the transaction.`}),_jsxs(_components.p,{children:[`Use English letters, numbers, spaces and basic punctuation (`,_jsx(_components.code,{children:`. , - _ ( ) @ /`}),`). Avoid emojis and non-English characters: some payment providers remove unsupported characters or shorten the text before using it (for example, FPX keeps only the first 30 characters), so the description shown to the customer by the provider may differ from what you sent. The payment is not rejected when characters are removed.`]}),_jsxs(_components.p,{children:[`Maximum string length: `,_jsx(_components.code,{children:`100`})]})]}),`\n`,_jsxs(ParamField,{body:`callbackUrl`,type:`string`,id:`param-callback-url`,children:[_jsxs(_components.p,{children:[`Target address utilized for asynchronous host-to-host webhook payment status change push actions. See `,_jsx(_components.a,{href:`/callback-notifications`,children:`Callback Notifications`}),` for the payload and signature verification steps.`]}),_jsxs(_components.p,{children:[`Maximum string length: `,_jsx(_components.code,{children:`500`})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`request-payload-sample`,children:`Request Payload Sample`}),`\n`,_jsx(CodeBlock,{filename:`Payload`,numberOfLines:`12`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"channelId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"providerChannelId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"TEST0021\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"currencyCode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MYR\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"referenceCode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"INV-2026-00941\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ipAddress\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"172.56.21.89\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"returnUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://yourmerchantstore.com/checkout/result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"callbackUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://yourmerchantstore.com/api/webhook\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Order checkout payment item description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"timestamp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1774845600000`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(Heading,{level:`3`,id:`body-2`,children:`Body`}),`\n`,_jsxs(ResponseField,{name:`currencyCode`,type:`string`,id:`param-currency-code-1`,children:[_jsxs(_components.p,{children:[`Currency code with a 3-letter ISO 4217 standard code (e.g., `,_jsx(_components.code,{children:`MYR`}),`).`]}),_jsxs(_components.p,{children:[`Maximum string length: `,_jsx(_components.code,{children:`3`})]})]}),`\n`,_jsx(ResponseField,{name:`amount`,type:`int64`,id:`param-amount-1`,children:_jsxs(_components.p,{children:[`The transaction payment value returned in pure integer units (e.g., `,_jsx(_components.code,{children:`1000`}),` is equivalent to `,_jsx(_components.code,{children:`10.00`}),` for the backend processing rules).`]})}),`\n`,_jsxs(ResponseField,{name:`transactionNumber`,type:`string`,id:`param-transaction-number`,children:[_jsx(_components.p,{children:`Unique CommercePay Transaction Number mapped internally for auditing.`}),_jsxs(_components.p,{children:[`Maximum string length: `,_jsx(_components.code,{children:`24`})]})]}),`\n`,_jsx(ResponseField,{name:`channelId`,type:`integer`,id:`param-channel-id-1`,children:_jsxs(_components.p,{children:[`The primary identity mapping identifier. Corresponds to the `,_jsx(_components.code,{children:`id`}),` from the response of the `,_jsx(Badge,{color:`blue`,children:`API`}),` `,_jsx(_components.a,{href:`/api-reference/get-tenant-channels-by-country`,children:`Get Channel List`}),`.`]})}),`\n`,_jsxs(ResponseField,{name:`redirectionType`,type:`integer`,id:`param-redirection-type`,children:[_jsx(_components.p,{children:`Defines how you present the payment to the customer. Check this value first, because it decides which of the other fields you use.`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`What to do`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`UrlRedirection`})}),_jsxs(_components.td,{children:[`Redirect the customer’s browser to `,_jsx(_components.code,{children:`redirectUrl`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`RenderScriptRedirection`})}),_jsxs(_components.td,{children:[`Render `,_jsx(_components.code,{children:`clientScript`}),` in the customer’s browser. It submits the customer to the provider.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`4`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`RenderInQR`})}),_jsxs(_components.td,{children:[`Display `,_jsx(_components.code,{children:`redirectUrl`}),` as a QR code image or link (see `,_jsx(_components.code,{children:`base64Image`}),`).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`5`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CashOnCounterRedirection`})}),_jsxs(_components.td,{children:[`Show the customer the `,_jsx(_components.code,{children:`serialNumber`}),` to pay at the counter before `,_jsx(_components.code,{children:`transactionExpired`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`6`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`RenderInQRBase64`})}),_jsxs(_components.td,{children:[`Display the QR code image from `,_jsx(_components.code,{children:`base64Image`}),`.`]})]})]})]}),_jsxs(_components.p,{children:[`Which values you receive depends on the channel. See the `,_jsx(_components.a,{href:`/channel-list`,children:`Channel List`}),`.`]})]}),`\n`,_jsx(ResponseField,{name:`redirectUrl`,type:`string`,id:`param-redirect-url`,children:_jsxs(_components.p,{children:[`The target link for the payment. For `,_jsx(_components.code,{children:`redirectionType`}),` `,_jsx(_components.code,{children:`1`}),` it’s the page to send the customer to. For `,_jsx(_components.code,{children:`4`}),` and `,_jsx(_components.code,{children:`6`}),` it holds the QR code link or payment link instead.`]})}),`\n`,_jsx(ResponseField,{name:`clientScript`,type:`string`,id:`param-client-script`,children:_jsxs(_components.p,{children:[`Script to render in the customer’s browser. Only set when `,_jsx(_components.code,{children:`redirectionType`}),` is `,_jsx(_components.code,{children:`2`}),`, otherwise `,_jsx(_components.code,{children:`null`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`paymentToken`,type:`string`,id:`param-payment-token`,children:_jsxs(_components.p,{children:[`Token that identifies this transaction on CommercePay’s hosted payment page. It’s always returned, so you don’t need to parse it out of `,_jsx(_components.code,{children:`redirectUrl`}),`, which may point to the payment provider instead.`]})}),`\n`,_jsx(ResponseField,{name:`base64Image`,type:`string`,id:`param-base64-image`,children:_jsxs(_components.p,{children:[`Base64-encoded QR code image. Only set for QR channels (`,_jsx(_components.code,{children:`redirectionType`}),` `,_jsx(_components.code,{children:`4`}),` or `,_jsx(_components.code,{children:`6`}),`, channel dependent), otherwise `,_jsx(_components.code,{children:`null`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`expiredInSeconds`,type:`integer`,id:`param-expired-in-seconds`,children:_jsxs(_components.p,{children:[`How many seconds the payment stays valid from the time of this response, for example how long a QR code can be scanned. Only set for channels with a short validity period (QR channels and some card channels), otherwise `,_jsx(_components.code,{children:`null`}),`. Use `,_jsx(_components.code,{children:`transactionExpired`}),` for the exact deadline.`]})}),`\n`,_jsx(ResponseField,{name:`serialNumber`,type:`int64`,id:`param-serial-number`,children:_jsxs(_components.p,{children:[`Payment serial number the customer quotes at the counter. Only set when `,_jsx(_components.code,{children:`redirectionType`}),` is `,_jsx(_components.code,{children:`5`}),`, otherwise `,_jsx(_components.code,{children:`null`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`transactionExpired`,type:`string`,id:`param-transaction-expired`,children:_jsxs(_components.p,{children:[`Deadline for completing the payment as an ISO 8601 date-time. It can be `,_jsx(_components.code,{children:`null`}),` when the channel doesn’t report one.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Fields that don’t apply to the channel are returned as `,_jsx(_components.code,{children:`null`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`response-payload-sample`,children:`Response Payload Sample`}),`\n`,_jsx(CodeBlock,{filename:`Response_2XX`,numberOfLines:`21`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`21`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"currencyCode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MYR\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"transactionNumber\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"200F75CD1F0053299EB260528\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"channelId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"redirectionType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"redirectUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{URL}\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"clientScript\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"base64Image\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expiredInSeconds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"serialNumber\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"transactionExpired\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-05-28T16:39:00.000Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"paymentToken\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{PAYMENT_TOKEN}\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"unAuthorizedRequest\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"__abp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`For QR channels, `,_jsx(_components.code,{children:`redirectionType`}),` is `,_jsx(_components.code,{children:`4`}),` or `,_jsx(_components.code,{children:`6`}),` and the QR fields are filled in:`]}),`\n`,_jsx(CodeBlock,{filename:`Response_2XX_QR`,numberOfLines:`21`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`21`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"currencyCode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MYR\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"transactionNumber\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"200F75CD1F0053299EB260528\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"channelId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"redirectionType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`4`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"redirectUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{QR_URL}\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"clientScript\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"base64Image\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{BASE64_QR_IMAGE}\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expiredInSeconds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`300`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"serialNumber\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"transactionExpired\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-05-28T16:39:00.000Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"paymentToken\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{PAYMENT_TOKEN}\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"unAuthorizedRequest\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"__abp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`error-responses`,children:`Error Responses`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Message`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`1`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Invalid Signature.`})})]})})]}),`\n`,_jsx(CodeBlock,{filename:`Response_400`,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Invalid Signature.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"unAuthorizedRequest\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"__abp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Direct Integration","description":"Initiate a checkout transaction and obtain the payment provider redirection URL.","api":"POST https://staging-payments.commerce.asia/api/services/app/PaymentGateway/RequestPayment","href":"/api-reference/direct-integration-api-request-payment"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Request","slug":"request","depth":2,"children":[{"title":"Headers","slug":"headers","depth":3,"children":[]},{"title":"Body","slug":"body","depth":3,"children":[]},{"title":"Request Payload Sample","slug":"request-payload-sample","depth":3,"children":[]}]},{"title":"Response","slug":"response","depth":2,"children":[{"title":"Body","slug":"body-2","depth":3,"children":[]},{"title":"Response Payload Sample","slug":"response-payload-sample","depth":3,"children":[]}]},{"title":"Error Responses","slug":"error-responses","depth":2,"children":[]}],"codeExamples":{},"endpoint":{"title":"Direct Integration","path":"/api/services/app/PaymentGateway/RequestPayment","servers":[{"url":"https://staging-payments.commerce.asia"}],"method":"post","request":{"security":[],"parameters":{"query":{},"header":{"Abp-TenantId":{"schema":[{"type":"string","description":"Your unique Merchant ID assigned by CommercePay.","required":true}]},"Authorization":{"schema":[{"type":"string","description":"Your API credentials used for authentication (typically a Bearer token).","required":true}]},"cap-signature":{"schema":[{"type":"string","description":"A unique security hash used to verify the integrity of the request body. See Generate Signature for how to generate this.","required":true}]}},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"channelId":[{"type":"integer","description":"An identifier that represents the CommercePay payment channel. Refer to the `id` from the response of the Get Channel List , or see the Channel List for common values. This parameter can be omitted if you choose to utilize the CommercePay Hosted Payment Web interface."}],"providerChannelId":[{"type":"string","description":"An identifier that represents the specific upstream payment provider sub-channel (e.g., a bank code for online banking). This becomes mandatory if the chosen channel configuration has `isProviderHostChannel: true` . Obtain valid values from the Get Provider Channels , or see the Channel List for common values."}],"currencyCode":[{"type":"string","description":"Currency code with a 3-letter ISO 4217 standard code (e.g., `MYR` ).","required":true}],"amount":[{"type":"object","properties":{},"description":"The transaction payment value. This field exclusively accepts integer units where the final decimals are represented as whole values (e.g., an amount value of `1000` translates to `10.00` in the system backend).","required":true}],"referenceCode":[{"type":"string","description":"The merchant-side unique order reference or invoice tracking sequence code. Maximum string length: `50`","required":true}],"ipAddress":[{"type":"string","description":"The customer’s IP address captured by the merchant server. Maximum string length: `50`","required":true}],"userAgent":[{"type":"string","description":"[Conditional] Customer’s user agent. It is recommended to input for a better user experience for specific channels due to different platforms such as desktop, mobile, or app view. Example channels impact: ShopeePay. Maximum string length: `200`"}],"returnUrl":[{"type":"string","description":"The synchronous return URL where the customer’s browser is automatically redirected after the transaction is completed. Maximum string length: `500`","required":true}],"timestamp":[{"type":"object","properties":{},"description":"Numeric timestamp in milliseconds representing request validation freshness, generated via `new Date().getTime()` . Example: `1621851652617` .","required":true}],"description":[{"type":"string","description":"Short free-text summary of the transaction. Use English letters, numbers, spaces and basic punctuation ( `. , - _ ( ) @ /` ). Avoid emojis and non-English characters: some payment providers remove unsupported characters or shorten the text before using it (for example, FPX keeps only the first 30 characters), so the description shown to the customer by the provider may differ from what you sent. The payment is not rejected when characters are removed. Maximum string length: `100`","required":true}],"callbackUrl":[{"type":"string","description":"Target address utilized for asynchronous host-to-host webhook payment status change push actions. See Callback Notifications for the payload and signature verification steps. Maximum string length: `500`"}]}}],"examples":{"example":{"value":{"channelId":123,"providerChannelId":"\u003cstring>","currencyCode":"\u003cstring>","amount":{},"referenceCode":"\u003cstring>","ipAddress":"\u003cstring>","userAgent":"\u003cstring>","returnUrl":"\u003cstring>","timestamp":{},"description":"\u003cstring>","callbackUrl":"\u003cstring>"}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"currencyCode":[{"type":"string","description":"Currency code with a 3-letter ISO 4217 standard code (e.g., `MYR` ). Maximum string length: `3`"}],"amount":[{"type":"object","properties":{},"description":"The transaction payment value returned in pure integer units (e.g., `1000` is equivalent to `10.00` for the backend processing rules)."}],"transactionNumber":[{"type":"string","description":"Unique CommercePay Transaction Number mapped internally for auditing. Maximum string length: `24`"}],"channelId":[{"type":"integer","description":"The primary identity mapping identifier. Corresponds to the `id` from the response of the Get Channel List ."}],"redirectionType":[{"type":"integer","description":"Defines how you present the payment to the customer. Check this value first, because it decides which of the other fields you use. Value Name What to do `1` `UrlRedirection` Redirect the customer’s browser to `redirectUrl` . `2` `RenderScriptRedirection` Render `clientScript` in the customer’s browser. It submits the customer to the provider. `4` `RenderInQR` Display `redirectUrl` as a QR code image or link (see `base64Image` ). `5` `CashOnCounterRedirection` Show the customer the `serialNumber` to pay at the counter before `transactionExpired` . `6` `RenderInQRBase64` Display the QR code image from `base64Image` . Which values you receive depends on the channel. See the Channel List ."}],"redirectUrl":[{"type":"string","description":"The target link for the payment. For `redirectionType` `1` it’s the page to send the customer to. For `4` and `6` it holds the QR code link or payment link instead."}],"clientScript":[{"type":"string","description":"Script to render in the customer’s browser. Only set when `redirectionType` is `2` , otherwise `null` ."}],"paymentToken":[{"type":"string","description":"Token that identifies this transaction on CommercePay’s hosted payment page. It’s always returned, so you don’t need to parse it out of `redirectUrl` , which may point to the payment provider instead."}],"base64Image":[{"type":"string","description":"Base64-encoded QR code image. Only set for QR channels ( `redirectionType` `4` or `6` , channel dependent), otherwise `null` ."}],"expiredInSeconds":[{"type":"integer","description":"How many seconds the payment stays valid from the time of this response, for example how long a QR code can be scanned. Only set for channels with a short validity period (QR channels and some card channels), otherwise `null` . Use `transactionExpired` for the exact deadline."}],"serialNumber":[{"type":"object","properties":{},"description":"Payment serial number the customer quotes at the counter. Only set when `redirectionType` is `5` , otherwise `null` ."}],"transactionExpired":[{"type":"string","description":"Deadline for completing the payment as an ISO 8601 date-time. It can be `null` when the channel doesn’t report one."}]}}],"examples":{"example":{"value":{"currencyCode":"\u003cstring>","amount":{},"transactionNumber":"\u003cstring>","channelId":123,"redirectionType":123,"redirectUrl":"\u003cstring>","clientScript":"\u003cstring>","paymentToken":"\u003cstring>","base64Image":"\u003cstring>","expiredInSeconds":123,"serialNumber":{},"transactionExpired":"\u003cstring>"}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"commercepay","siteName":"CommercePay","title":"Direct Integration - CommercePay","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T05:02:50.972Z","originalFileLocation":"api-reference/direct-integration-api-request-payment.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Initiate a checkout transaction and obtain the payment provider redirection URL.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CommercePay\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/commercepay/GH8Bb27qvn280PyP/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/commercepay/GH8Bb27qvn280PyP/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/commercepay/GH8Bb27qvn280PyP/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/commercepay/GH8Bb27qvn280PyP/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/commercepay/GH8Bb27qvn280PyP/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/commercepay/GH8Bb27qvn280PyP/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/commercepay/GH8Bb27qvn280PyP/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/commercepay/GH8Bb27qvn280PyP/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/commercepay/GH8Bb27qvn280PyP/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Direct Integration - CommercePay\">\u003cmeta data-mint-head property=\"og:description\" content=\"Initiate a checkout transaction and obtain the payment provider redirection URL.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CommercePay\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.commercepay.asia/api-reference/direct-integration-api-request-payment\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://commercepay.mintlify.site/images/commercepay-og-image.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Direct Integration - CommercePay\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Initiate a checkout transaction and obtain the payment provider redirection URL.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://commercepay.mintlify.site/images/commercepay-og-image.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/commercepay/GH8Bb27qvn280PyP/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CommercePay\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5D40E6\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"dUzHLcHfcaknXY13Nu97zc6gj2DguWeqMvoJWcgBCa4\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.commercepay.asia/api-reference/direct-integration-api-request-payment\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/direct-integration-api-request-payment.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.commercepay.asia/#organization\",\"name\":\"CommercePay\",\"url\":\"https://docs.commercepay.asia\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/commercepay/zbo4Bt5Hnzxuhmp1/logo/commercepay-logo-cropped.png?fit=max\u0026auto=format\u0026n=zbo4Bt5Hnzxuhmp1\u0026q=85\u0026s=2818942319162624de2b3de633ee42ed\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.commercepay.asia#website\",\"name\":\"CommercePay\",\"url\":\"https://docs.commercepay.asia\",\"publisher\":{\"@id\":\"https://docs.commercepay.asia/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.commercepay.asia/api-reference/direct-integration-api-request-payment#webpage\",\"url\":\"https://docs.commercepay.asia/api-reference/direct-integration-api-request-payment\",\"name\":\"Direct Integration\",\"description\":\"Initiate a checkout transaction and obtain the payment provider redirection URL.\",\"dateModified\":\"2026-10-29T05:02:50.972Z\",\"isPartOf\":{\"@id\":\"https://docs.commercepay.asia#website\"},\"breadcrumb\":{\"@id\":\"https://docs.commercepay.asia/api-reference/direct-integration-api-request-payment#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.commercepay.asia/api-reference/direct-integration-api-request-payment#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"CommercePay\",\"item\":\"https://docs.commercepay.asia\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Direct Integration\",\"item\":\"https://docs.commercepay.asia/api-reference/direct-integration-api-request-payment\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.commercepay.asia/api-reference/direct-integration-api-request-payment#apireference\",\"headline\":\"Direct Integration\",\"name\":\"Direct Integration\",\"description\":\"Initiate a checkout transaction and obtain the payment provider redirection URL.\",\"url\":\"https://docs.commercepay.asia/api-reference/direct-integration-api-request-payment\",\"mainEntityOfPage\":{\"@id\":\"https://docs.commercepay.asia/api-reference/direct-integration-api-request-payment#webpage\"},\"image\":\"https://docs.commercepay.asia/images/commercepay-og-image.png\",\"dateModified\":\"2026-10-29T05:02:50.972Z\",\"publisher\":{\"@id\":\"https://docs.commercepay.asia/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.commercepay.asia#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CommercePay\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CommercePay","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/overview"}]},{"tab":"API Reference","groups":[{"group":"Authentication","pages":[{"title":"Get Access Token","deprecated":null,"version":null,"sidebarTitle":"Get Access Token","openapi":"/openapi.json post /api/TokenAuth/Authenticate","href":"/api-reference/get-access-token"}]},{"group":"Channel APIs","pages":[{"title":"Get Channel List","deprecated":null,"version":null,"sidebarTitle":"Get Channel List","openapi":"/openapi.json get /api/services/app/Channel/GetTenantChannelsByCountry","href":"/api-reference/get-tenant-channels-by-country"},{"title":"Get Provider Channels","description":"The following input parameters are expected to be provided by the merchant to retrieve available payment provider channels.","deprecated":null,"version":null,"sidebarTitle":"Get Provider Channels","openapi":"/openapi.json get /api/services/app/Channel/GetProviderChannels","href":"/api-reference/get-provider-channels"}]},{"group":"Payin APIs","pages":[{"title":"Direct Integration","api":"POST https://staging-payments.commerce.asia/api/services/app/PaymentGateway/RequestPayment","href":"/api-reference/direct-integration-api-request-payment"},{"title":"Hosted Session Checkout","description":"Payment gateway hosted session checkout.\r\n\r\nThe following input parameters are expected to be provided by the merchant to initiate a hosted checkout session. Unlike [Direct Integration](/api-reference/direct-integration-api-request-payment), this endpoint does not take a `channelId` — the customer selects their own payment method on CommercePay's hosted payment page.","deprecated":null,"version":null,"sidebarTitle":"Hosted Session Checkout","openapi":"/openapi.json post /api/services/app/PaymentGateway/InitialSession","href":"/api-reference/initial-session"},{"title":"Query Payment","deprecated":null,"version":null,"sidebarTitle":"Query Payment","openapi":"/openapi.json get /api/services/app/PaymentGateway/Query","href":"/api-reference/query-payment"}]},{"group":"Saved Payment APIs","pages":[{"title":"Add Saved Payment","deprecated":null,"version":null,"sidebarTitle":"Add Saved Payment","openapi":"/openapi.json post /api/services/app/PaymentGateway/AddSavePayment","href":"/api-reference/add-saved-payment"},{"title":"Check Saved Payment","deprecated":null,"version":null,"sidebarTitle":"Check Saved Payment","openapi":"/openapi.json post /api/services/app/PaymentGateway/CheckSavedPayment","href":"/api-reference/check-saved-payment"},{"title":"Revoke Saved Payment","deprecated":null,"version":null,"sidebarTitle":"Revoke Saved Payment","openapi":"/openapi.json post /api/services/app/PaymentGateway/RevokeTokenize","href":"/api-reference/revoke-saved-payment"}]},{"group":"Payout APIs","pages":[{"title":"Request Payout","api":"POST https://staging-payments.commerce.asia/api/services/app/PaymentGateway/RequestPayment","href":"/api-reference/payout-api-requestpayout"},{"title":"Query Wallets","api":"POST https://staging-payments.commerce.asia/api/services/app/PaymentGateway/QueryWallets","href":"/api-reference/payout-api-querywallets"},{"title":"Query Wallet Histories","api":"POST https://staging-payments.commerce.asia/api/services/app/PaymentGateway/QueryWalletHistory","href":"/api-reference/payout-api-querywallethistories"}]},{"group":"Refund APIs","pages":[{"title":"Refund Payment","deprecated":null,"version":null,"sidebarTitle":"Refund Payment","openapi":"/openapi.json post /api/services/app/PaymentGateway/RefundPayment","href":"/api-reference/refund-payment"},{"title":"Query Refund Payment","deprecated":null,"version":null,"sidebarTitle":"Query Refund Payment","openapi":"/openapi.json get /api/services/app/PaymentGateway/QueryRefund","href":"/api-reference/query-refund-payment"}]},{"group":"All APIs","pages":[{"group":"TokenAuth","pages":[{"title":"Get Access Token","deprecated":null,"version":null,"sidebarTitle":"Get Access Token","openapi":"/openapi.json post /api/TokenAuth/Authenticate","href":"/api-reference/get-access-token"}]},{"group":"Channel","pages":[{"title":"Get Channel List","deprecated":null,"version":null,"sidebarTitle":"Get Channel List","openapi":"/openapi.json get /api/services/app/Channel/GetTenantChannelsByCountry","href":"/api-reference/get-tenant-channels-by-country"},{"title":"Get Provider Channels","deprecated":null,"version":null,"sidebarTitle":"Get Provider Channels","openapi":"/openapi.json get /api/services/app/Channel/GetProviderChannels","href":"/api-reference/get-provider-channels"}]},{"group":"PaymentGateway","pages":[{"title":"Query Payment","deprecated":null,"version":null,"sidebarTitle":"Query Payment","openapi":"/openapi.json get /api/services/app/PaymentGateway/Query","href":"/api-reference/query-payment"},{"title":"Request Payment","deprecated":null,"version":null,"sidebarTitle":"Request Payment","openapi":"/openapi.json post /api/services/app/PaymentGateway/RequestPayment","href":"/api-reference/paymentgateway/request-payment"},{"title":"Process Payment","deprecated":null,"version":null,"sidebarTitle":"Process Payment","openapi":"/openapi.json post /api/services/app/PaymentGateway/ProcessPayment","href":"/api-reference/paymentgateway/process-payment"},{"title":"Check Saved Payment","deprecated":null,"version":null,"sidebarTitle":"Check Saved Payment","openapi":"/openapi.json post /api/services/app/PaymentGateway/CheckSavedPayment","href":"/api-reference/check-saved-payment"},{"title":"Add Saved Payment","deprecated":null,"version":null,"sidebarTitle":"Add Saved Payment","openapi":"/openapi.json post /api/services/app/PaymentGateway/AddSavePayment","href":"/api-reference/add-saved-payment"},{"title":"Revoke Saved Payment","deprecated":null,"version":null,"sidebarTitle":"Revoke Saved Payment","openapi":"/openapi.json post /api/services/app/PaymentGateway/RevokeTokenize","href":"/api-reference/revoke-saved-payment"},{"title":"Refund Payment","deprecated":null,"version":null,"sidebarTitle":"Refund Payment","openapi":"/openapi.json post /api/services/app/PaymentGateway/RefundPayment","href":"/api-reference/refund-payment"},{"title":"Query Refund Payment","deprecated":null,"version":null,"sidebarTitle":"Query Refund Payment","openapi":"/openapi.json get /api/services/app/PaymentGateway/QueryRefund","href":"/api-reference/query-refund-payment"},{"title":"Query Wallets","deprecated":null,"version":null,"sidebarTitle":"Query Wallets","openapi":"/openapi.json post /api/services/app/PaymentGateway/QueryWallets","href":"/api-reference/paymentgateway/query-wallets"},{"title":"Hosted Session Checkout","deprecated":null,"version":null,"sidebarTitle":"Hosted Session Checkout","openapi":"/openapi.json post /api/services/app/PaymentGateway/InitialSession","href":"/api-reference/initial-session"}]}]}]}]},"basePath":"","title":"Direct Integration - CommercePay","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js"]}