{"id":16383,"date":"2024-03-20T09:16:25","date_gmt":"2024-03-20T08:16:25","guid":{"rendered":"https:\/\/docs.centralpay.com\/documentation\/card-transaction\/card-transaction-via-wallet\/"},"modified":"2026-08-18T15:47:39","modified_gmt":"2026-08-18T13:47:39","slug":"card-transaction-via-wallet","status":"publish","type":"docs","link":"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/","title":{"rendered":"Card transaction via wallet"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1. Apple Pay (Smart Form)<\/h2>\n\n<p class=\"wp-block-paragraph\">Apple Pay is natively integrated into the SmartForm card payment flow (<code>PaymentRequest <\/code>&gt; <code>paymentMethod[]=TRANSACTION<\/code>) as long as your customer&#8217;s device is compatible. <\/p>\n\n<p class=\"wp-block-paragraph\">No action is required on your part. The service is fully managed by CentralPay (device detection, management of Apple certificates and tokens, PCI-DSS security). No card data is exposed on the merchant side (PCI-DSS SAQ-A scope).  <\/p>\n\n<h2 class=\"wp-block-heading\">2. Apple Pay (Custom Form)<\/h2>\n\n<h3 class=\"wp-block-heading\">2.1. Requirements<\/h3>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">1. Create an Apple Developer account:<\/span><\/p>\n\n<ul class=\"wp-block-list\">\n<li>Sign up for the <a href=\"https:\/\/developer.apple.com\/account\/resources\/identifiers\/list\/merchant\" target=\"_blank\" rel=\"noreferrer noopener\">Apple Developer Program<\/a><\/li>\n\n\n\n<li>Create your Apple Pay merchant credentials (Merchant ID)<\/li>\n\n\n\n<li>Generate your Apple Pay processing certificate through the Apple portal<\/li>\n\n\n\n<li>Register your domain (Apple Pay Merchant Domain)<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">2. Device-side integration:<\/span><\/p>\n\n<ul class=\"wp-block-list\">\n<li>Implement Apple Pay on the front end using <a href=\"https:\/\/developer.apple.com\/documentation\/applepayontheweb\" target=\"_blank\" rel=\"noreferrer noopener\">Apple Pay JS<\/a> (for websites) or <a href=\"https:\/\/developer.apple.com\/documentation\/passkit\" target=\"_blank\" rel=\"noreferrer noopener\">PassKit<\/a> (for iOS apps)<\/li>\n\n\n\n<li>Retrieve the Apple Pay token (ApplePayToken) after the user has confirmed the payment (Face ID, Touch ID, etc.)<\/li>\n<\/ul>\n\n<pre class=\"wp-block-preformatted\"><strong>\ud83d\udd10 Certificates required for Apple Pay integration<\/strong> <br\/>(<a href=\"https:\/\/developer.apple.com\/help\/account\/certificates\/create-a-certificate-signing-request\">https:\/\/developer.apple.com\/help\/account\/certificates\/create-a-certificate-signing-request<\/a>)<br\/><br\/>To process Apple Pay payments through a direct integration, the merchant must have the following:<br\/>\u2022 a Merchant ID Identity certificate;<br\/>\u2022 a Merchant Payment Processing G2 certificate.<br\/><br\/>The merchant must ensure that all private keys used to generate the CSRs associated with these certificates are retained.<br\/><br\/><span style=\"text-decoration: underline;\">1. Merchant ID Identity<\/span><br\/>A CSR based on an EC key (256 bits) must be generated.<br\/>This CSR will be generated by Centralpay<br\/><br\/><span style=\"text-decoration: underline;\">2. Merchant Payment Processing Certificate<\/span><br\/><br\/>Main steps:<br\/>\u2022 Request the CSR generated by Centralpay<br\/>\u2022 Submit the CSR through the Apple Developer Account to obtain the Merchant Payment Processing Certificate.<br\/>\u2022 Install the certificate on the same macOS computer used to generate the CSR so that it is associated with the private key.<br\/>\u2022 Export the complete identity in .p12 format (certificate + private key).<br\/><br\/>\u26a0\ufe0f If the option to export in .p12 format is not available, this indicates that a step in the process was not completed correctly (private key is missing or not associated).<br\/><br\/>The .p12 file is a secure container that allows the private key associated with the certificate to be used later, in accordance with the Apple Pay workflow.<br\/><br\/>Important notes:<br\/>\u2022 If you lose your private key, you must completely recreate the certificate through the Apple Developer portal.<br\/>\u2022 The Apple Pay documentation can be confusing: the use of OpenSSL applies only to the Merchant ID Identity certificate and does not apply to the Merchant Payment Processing Certificate.<\/pre>\n\n<h3 class=\"wp-block-heading\">2.2. Via a decrypted Apple Pay token<\/h3>\n\n<p class=\"wp-block-paragraph\">CentralPay enables the processing of card payments made via Apple Pay as part of a custom integration (excluding Smart Form).<\/p>\n\n<pre class=\"wp-block-preformatted\">\u2139\ufe0f CentralPay currently supports only decrypted Apple Pay tokens. This method entails significant PCI-DSS liability on your part (SAQ-D form). Please research this and ensure you are in compliance before developing this integration method.  <\/pre>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\">Step 1: Decrypting the Apple Pay token (Backend)<\/p>\n\n<p class=\"wp-block-paragraph\">The Apple Pay token must be decrypted on your backend using:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Your Apple Pay treatment certificate<\/li>\n\n\n\n<li>Your private key<\/li>\n\n\n\n<li>Apple Documentation: <a href=\"https:\/\/developer.apple.com\/documentation\/passkit\/apple_pay\/payment_token_format\" target=\"_blank\" rel=\"noreferrer noopener\">Payment Token Format<\/a><\/li>\n<\/ul>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">The result will contain:<\/span><\/p>\n\n<pre class=\"wp-block-code has-black-color has-text-color has-background has-link-color wp-elements-4138cbecb2275674abc165d1b0da26fa\" style=\"background-color:#f8f8f8\"><code lang=\"json\" class=\"language-json\">{\n  \"applicationPrimaryAccountNumber\": \"5454********2664\",\n  \"applicationExpirationDate\": \"YYMMDD\",\n  \"paymentData\": {\n    \"cryptogram\": \"base64-cryptogram\",\n    \"eciIndicator\": \"05\"\n  }\n}<\/code><\/pre>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><strong>Step 2: Creating the CentralPay cardToken <strong>(Backend)<\/strong><\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Use the <a href=\"https:\/\/docs.centralpay.com\/documentation\/developpeurs\/card-payment\/card-token\/#\/Card%20Token\/post_cardToken\">\/cardToken POST<\/a> endpoint of the CentralPay API<\/p>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>card[number]<\/code><\/td><td>PAN of the card extracted from the Apple Pay token<\/td><\/tr><tr><td><code>card[expirationMonth]<\/code><\/td><td>Card expiration month (MM format)<\/td><\/tr><tr><td><code>card[expirationYear]<\/code><\/td><td>Card expiration year (YYYY format)<\/td><\/tr><tr><td><code>onlinePaymentCryptogram<\/code><\/td><td>Cryptogram derived from the Apple Pay token (CAVV)<\/td><\/tr><tr><td><code>eciIndicator<\/code><\/td><td>Authentication Index Derived from the Apple Pay Token (ECI)<\/td><\/tr><tr><td><code>applePayTransactionId<\/code><\/td><td>Apple Pay Transaction ID<\/td><\/tr><tr><td><code>amount<\/code><\/td><td>Amount in cents (e.g., 2,500 = \u20ac25.00)<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>ISO alpha code (e.g., EUR, USD, etc.)<\/td><\/tr><tr><td><code>merchantPublicKey<\/code><\/td><td>Public key provided by CentralPay<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<pre class=\"wp-block-preformatted\">\u2139\ufe0f <strong>Where can I find the merchantPublicKey?<\/strong><br\/>        <span class=\"direction_steps\">\r\n            <span class=\"direction_step\">Log in to your CentralPay Back Office portal <\/span><span class=\"direction_step\"> Administration <\/span><span class=\"direction_step\"> Technical <\/span><span class=\"direction_step\"> Merchant Public Key<\/span>        <\/span>\r\n        <\/pre>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">Example:<\/span><\/p>\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-link-color wp-elements-b899fc94620fba91c1b7326cbf77ad42\">card[number]=5454696696312664<br\/>card[expirationMonth]=12<br\/>card[expirationYear]=2031<br\/>onlinePaymentCryptogram=MGnp3S1LBgJxAANgdNCRAoABFIA=<br\/>applePayTransactionId=3d2b17abed2696ca...<br\/>amount=2500<br\/>currency=EUR<br\/>merchantPublicKey=abcdef123456...<\/pre>\n\n<p class=\"wp-block-paragraph\">The generated cardToken contains all the data needed for Apple Pay authentication.<\/p>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><strong><strong>Step 3: Creating the CentralPay Transaction (Backend)<\/strong><\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Use the <a href=\"https:\/\/docs.centralpay.com\/documentation\/developpeurs\/card-payment\/transaction\/#\/Transaction\/post_transaction\">\/transaction POST<\/a> endpoint of the CentralPay API<\/p>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">Required fields:<\/span><\/p>\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-link-color wp-elements-9dceab0ce8ba09988d2d0c8c1c8b8a29\">cardToken=...<br\/>amount=2500<br\/>currency=EUR<br\/>pointOfSaleId=...<br\/>endUserIp=...<br\/>merchantTransactionId=...<\/pre>\n\n<p class=\"wp-block-paragraph\">The cardToken already encapsulates the Apple Pay context and authentication data.<\/p>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><strong>Step 4: Testing before deployment<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">The CentralPay test environment allows you to validate your entire Apple Pay integration without triggering actual payments. We strongly recommend using this environment for all phases of development, debugging, and validation, both on the front end and the back end. <\/p>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-small-font-size has-custom-font-size wp-element-button\" href=\"https:\/\/test-backoffice.centralpay.net\" target=\"_blank\" rel=\"noreferrer noopener\">Test portal<\/a><\/div>\n<\/div>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-small-font-size has-custom-font-size wp-element-button\" href=\"https:\/\/test-api.centralpay.net\/v2\/rest\/\" target=\"_blank\" rel=\"noreferrer noopener\">Test API<\/a><\/div>\n<\/div>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-small-font-size has-custom-font-size wp-element-button\" href=\"https:\/\/docs.centralpay.com\/documentation\/developpeurs\/resources-by-type\/test-values\/test-cards\/\" target=\"_blank\" rel=\"noreferrer noopener\">Test cards<\/a><\/div>\n<\/div>\n\n<div style=\"height:70px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">Differences between the test and production environments:<\/span><\/p>\n\n<ul class=\"wp-block-list\">\n<li>The API URLs are different: They use the \u201ctest-\u201d prefix\n<ul class=\"wp-block-list\">\n<li>Test: <a href=\"https:\/\/test-api.centralpay.net\/v2\/rest\/transaction\">https:\/\/test-api.centralpay.net\/v2\/rest\/transaction<\/a><\/li>\n\n\n\n<li>Deployment: <a href=\"https:\/\/api.centralpay.net\/v2\/rest\/transaction\">https:\/\/api.centralpay.net\/v2\/rest\/transaction<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The API credentials (login and secret) are specific to the test environment. They are not interchangeable with those used in production. <\/li>\n\n\n\n<li>The <strong>CentralPay public key (merchantPublicKey)<\/strong> is also environment-specific<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">2.3. Via an encrypted Apple Pay token (hybrid)<\/h3>\n\n<pre class=\"wp-block-preformatted\">\u2139\ufe0f If you are interested in this integration method, please contact CentralPay support to learn about the associated deliverables and access procedures.<\/pre>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h3 class=\"wp-block-heading\">       <strong>2.3.1. Apple account settings<\/strong><\/h3>\n<p data-olk-copy-source=\"MessageBody\">&#8211; Log in on &#8220;<a href=\"https:\/\/developer.apple.com\/\">https:\/\/developer.apple.com\/<\/a>&#8220;, create an account, and verify your &#8220;developer&#8221; account for $99)<\/p>\n<p>&#8211; Go to <a title=\"https:\/\/developer.apple.com\/account\/resources\/identifiers\/list\" href=\"https:\/\/developer.apple.com\/account\/resources\/identifiers\/list\" data-auth=\"NotApplicable\" data-linkindex=\"0\">https:\/\/developer.apple.com\/account\/resources\/identifiers\/list<\/a><\/p>\n<p>&#8211; Under &#8220;<strong>App IDs&#8221;<\/strong>, select &#8220;<strong>Merchant IDs<\/strong>&#8220;:<\/p>\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"422\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-1024x422.png\" alt=\"\" class=\"wp-image-15716\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-1024x422.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-300x124.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-768x317.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image.png 1426w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>Then click the &#8220;<strong>+<\/strong>&#8221; to add an &#8220;<strong>Identifier<\/strong>&#8220;:<\/p>\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"303\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-14-1024x303.png\" alt=\"\" class=\"wp-image-15730\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-14-1024x303.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-14-300x89.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-14-768x228.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-14.png 1414w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>Select &#8220;<strong>Merchant IDs<\/strong>&#8220;: <\/p>\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"1021\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-1024x1021.png\" alt=\"\" class=\"wp-image-15718\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-1024x1021.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-300x300.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-150x150.png 150w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-768x766.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-70x70.png 70w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-16x16.png 16w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-40x40.png 40w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-100x100.png 100w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-50x50.png 50w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-60x60.png 60w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-18x18.png 18w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2-20x20.png 20w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-2.png 1124w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>Enter your username and click&#8221;Register&#8221;: <\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"242\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-3-1024x242.png\" alt=\"\" class=\"wp-image-15719\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-3-1024x242.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-3-300x71.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-3-768x182.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-3.png 1516w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>Go to <a href=\"https:\/\/developer.apple.com\/account\/resources\">https:\/\/developer.apple.com\/account\/resources<\/a>, then click I<span style=\"font-size: revert;\">dentifiers <\/span> <\/p>\n<p>On the \u201cIdentify\u201d page, select a Merchant ID using the filter in the upper-right corner<\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"189\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-4-1024x189.png\" alt=\"\" class=\"wp-image-15720\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-4-1024x189.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-4-300x56.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-4-768x142.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-4-1536x284.png 1536w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-4.png 1562w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>Under &#8220;<strong>Apple Pay Payment Processing Certificate&#8221;<\/strong>, click &#8220;<strong>Create Certificate<\/strong>&#8220;.<\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"466\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-15-1024x466.png\" alt=\"\" class=\"wp-image-15731\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-15-1024x466.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-15-300x136.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-15-768x349.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-15.png 1405w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>Please note that this <strong>&#8220;Merchant ID&#8221;<\/strong> will NOT be used exclusively for China.<\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"359\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-6-1024x359.png\" alt=\"\" class=\"wp-image-15722\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-6-1024x359.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-6-300x105.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-6-768x269.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-6.png 1032w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>At that point, click &#8220;Choose File&#8221; to upload the CSR file that was sent to you by <strong>CentralPay (CentralPay only)<\/strong>.<\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"436\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-7-1024x436.png\" alt=\"\" class=\"wp-image-15723\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-7-1024x436.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-7-300x128.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-7-768x327.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-7.png 1036w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>You can download the generated file.<br \/>Next, you need to create the \u201cApple Pay Merchant Identity Certificate.\u201d<br \/>To do this, go to <a href=\"https:\/\/developer.apple.com\/account\/resources\">https:\/\/developer.apple.com\/account\/resources<\/a>, then click I<span style=\"font-size: revert;\">dentifiers and finally click the identifier you want to edit.<br \/><\/span>Once it&#8217;s open, click &#8220;Create Certificate&#8221;.<\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"694\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-8-1024x694.png\" alt=\"\" class=\"wp-image-15724\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-8-1024x694.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-8-300x203.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-8-768x521.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-8-60x40.png 60w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-8.png 1532w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>Upload your certificate: <\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"366\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-9-1024x366.png\" alt=\"\" class=\"wp-image-15725\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-9-1024x366.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-9-300x107.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-9-768x274.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-9.png 1207w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>Add the associated domain<\/p>\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"648\" height=\"177\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-10.png\" alt=\"\" class=\"wp-image-15726\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-10.png 648w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-10-300x82.png 300w\" sizes=\"(max-width: 648px) 100vw, 648px\" \/><\/figure>\n<p>Enter the domain name in question: <\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"200\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-11-1024x200.png\" alt=\"\" class=\"wp-image-15727\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-11-1024x200.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-11-300x59.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-11-768x150.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-11.png 1510w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>Download the file specified by Apple<\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"212\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-12-1024x212.png\" alt=\"\" class=\"wp-image-15728\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-12-1024x212.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-12-300x62.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-12-768x159.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-12.png 1398w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>Deploy the file specified by Apple to a server on the domain in question that is accessible to Apple, then click \u201cVerify\u201d:<\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"229\" src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-13-1024x229.png\" alt=\"\" class=\"wp-image-15729\" srcset=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-13-1024x229.png 1024w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-13-300x67.png 300w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-13-768x172.png 768w, https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-13.png 1194w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>You will then be able to download the required certificate.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>2.3.2. Payment via Apple Pay<\/strong><\/h3>\n<p><strong>Generating the certificate and key in the same file: <\/strong><\/p>\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-background has-link-color wp-elements-18bb8f23ecc4972c44edc0580da96a3b\" style=\"background-color:#abb7c22e\">openssl pkcs12 -in certificat.p12 -out certificat.pem -clcerts<\/pre>\n<p><strong>Creating an ApplePayToken with the <a href=\"https:\/\/developer.apple.com\/documentation\/apple_pay_on_the_web\/apple_pay_js_api\">Apple Pay JS API<\/a> (Demo at <a href=\"https:\/\/applepaydemo.apple.com\/apple-pay-js-api\">https:\/\/applepaydemo.apple.com\/apple-pay-js-api<\/a>)<\/strong><\/p>\n<p>Front end: <\/p>\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-background has-link-color wp-elements-70a9013ad79c45c53f0212896fd9c330\" style=\"background-color:#abb7c22e\">&lt;script crossorigin<br\/>src=\"https:\/\/applepay.cdn-apple.com\/jsapi\/1.latest\/apple-pay-sdk.js\"&gt; <br\/>&lt;\/script&gt;<\/pre>\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-background has-link-color wp-elements-48674098b92d9c427098ba4f98337139\" style=\"background-color:#abb7c22e\">&lt;style&gt;<br\/> apple-pay-button {<br\/>--apple-pay-button-width: 250px;<br\/>--apple-pay-button-height: 100px;<br\/>--apple-pay-button-border-radius: 99px;<br\/>--apple-pay-button-padding: 0px 0px;<br\/>--apple-pay-button-box-sizing: border-box;<br\/>}<br\/>&lt;\/style&gt;<br\/>&lt;apple-pay-button id=\"btn-card\" buttonstyle=\"white-outline\" type=\"plain\" locale=\"fr-FR\"&gt;&lt;\/apple-pay-button&gt;<br\/>&lt;br \/&gt;<br\/>&lt;div data-info=\"gateway-link\" class=\"text-small text-gray-light font-weight-normal ml-1\"&gt;<br\/>        &lt;img src=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/10\/paysecure_reassurance_1-fond_blanc.png\" alt=\"CentralPay\" style=\"max-width:200px\"&gt;&lt;\/a&gt;<br\/>&lt;\/div&gt;<\/pre>\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-background has-link-color wp-elements-8a615edd1ff366ecf35ca61ff7ea239c\" style=\"background-color:#abb7c22e\">var request = {<br\/> countryCode: 'FR',<br\/> currencyCode: 'EUR',<br\/> supportedNetworks: ['visa', 'masterCard', 'amex'],<br\/> merchantCapabilities: ['supports3DS'],<br\/> total: { label: 'Your Merchant Name', amount: '10.00' },<br\/>}<br\/>var applepayversion = 3;<br\/>var session = new ApplePaySession(applepayversion, request);<br\/><br\/>session.onvalidatemerchant = event =&gt; {<br\/>\/\/ Call your own server to request a new merchant session.<br\/>console.log(\"event.validationURL :\"+event.validationURL);<br\/><br\/> fetch('\/applepay-session')<br\/>.then(res =&gt; res.json()) \/\/ Parse the response as JSON.<br\/>.then(merchantSession =&gt; {<br\/>session.completeMerchantValidation(merchantSession);<br\/>})<br\/>.catch(err =&gt; {<br\/>console.error(\"Error fetching merchant session : \", err);<br\/>});<br\/>};<br\/><br\/>session.onpaymentauthorized = (event) =&gt; {<br\/><br\/> var token = event.payment.token;<br\/> fetch(`https:\/\/api.centralpay.net\/transaction`, {<br\/> method: \"post\",<br\/> body: JSON.stringify(<br\/>  {  <br\/> applePayToken: token,<br\/> endUserIp: \"127.0.0.1\",<br\/> currency: \"EUR\",<br\/> amount: 1000,<br\/> source=\"EC\",<br\/> browserUserAgent=\"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/101.0.4951.41 Safari\/537.36\",<br\/> merchantTransactionId=\"1234567890123456789\"<br\/>  }),<br\/>  })<br\/> .then((response) =&gt;  {<br\/> if (response.ok) {<br\/> return response.json();<br\/>  }<br\/> appleSession.completePayment(ApplePaySession.STATUS_FAILURE);<br\/>  })<br\/> .then((responseJson) =&gt;  {<br\/> \/\/ Do something with the response<br\/> appleSession.completePayment(ApplePaySession.STATUS_SUCCESS);<br\/>  })<br\/> .catch((error) =&gt;  {<br\/> appleSession.completePayment(ApplePaySession.STATUS_FAILURE);<br\/> });<br\/>};<br\/><br\/>session.begin();<\/pre>\n<p>Backend: <\/p>\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-background has-link-color wp-elements-4749b11fa16c2084dce05e50a10a79a3\" style=\"background-color:#abb7c22e\">$router-&gt;map('GET', '\/applepay-session', function (ServerRequestInterface $request) use ($twig) : ResponseInterface {<br\/><br\/>$APPLE_URL = \"https:\/\/apple-pay-gateway.apple.com\/paymentservices\/paymentSession\"; <br\/><br\/> $curl = new Curl();<br\/>$curl-&gt;setHeader('Content-Type', 'application\/json');<br\/>$curl-&gt;setOpt($ch, CURLOPT_SSLCERT, getcwd() . 'certificat.pem'); <br\/> $curl-&gt;setOpt($ch, CURLOPT_SSLCERTPASSWD, \"thesslpassword\");<br\/> $curl-&gt;setOpt(CURLOPT_POSTFIELDS, '{<br\/> merchantIdentifier: \"merchant.net.centralpay.test-form\",<br\/> displayName: \"MyStore\",<br\/> initiative: \"web\",<br\/> initiativeContext: \"merchant.net.centralpay.test-form\"<br\/> }'<br\/> );<br\/> $curl-&gt;setOpt(CURLOPT_CUSTOMREQUEST, \"POST\");<br\/> $curl-&gt;setOpt(CURLOPT_URL, $APPLE_URL);<br\/>$curl-&gt;exec();<br\/>...<br\/> return new Laminas\\Diactoros\\Response\\JsonResponse($curl-&gt;getResponse());<br\/>...<br\/>});<\/pre>\n<p><strong>Creating a CardToken with your encrypted Apple Pay token. (Frontend) <\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">When making your API call, in addition to the required fields, you must include the \u201capplePayToken\u201d field in JSON format, containing your Apple Pay token, which includes the elements <code>paymentData<\/code>,<code>paymentMethod<\/code>, and <code>transactionIdentifier<\/code>.<br\/>You can then complete a transaction using your cardToken as usual.<br\/><br\/>Use the CentralPay API&#8217;s <a href=\"https:\/\/docs.centralpay.com\/documentation\/developpeurs\/card-payment\/transaction\/#\/Transaction\/post_transaction\">POST \/cardToken<\/a> endpoint<br\/><span style=\"text-decoration: underline;\">Required fields:<\/span><\/p>\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-background has-link-color wp-elements-d490d00d8ca725122ed8e75224e19fa1\" style=\"background-color:#abb7c22e\">curl --location 'https:\/\/test-api.centralpay.net\/cardToken' \\<br\/>--header 'Origin: https:\/\/example.centralpay.net' \\<br\/>--header 'Content-Type: application\/x-www-form-urlencoded' \\<br\/>--data-urlencode 'merchantPublicKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \\<br\/>--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx'<br\/>--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxx'<\/pre>\n<p><strong>Creating the transaction: (Backend)<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Use the <a href=\"https:\/\/docs.centralpay.com\/documentation\/developpeurs\/card-payment\/transaction\/#\/Transaction\/post_transaction\">\/transaction POST<\/a> endpoint of the CentralPay API<br\/><span style=\"text-decoration: underline;\">Required fields:<\/span><\/p>\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-background has-link-color wp-elements-d0f7cd7c005c6c5368b71be8fb92e3e6\" style=\"background-color:#abb7c22e\">curl --location 'https:\/\/api.centralpay.net\/transaction' \\<br\/>--header 'Content-Type: application\/x-www-form-urlencoded' \\<br\/>--header 'Authorization: \u2022\u2022\u2022\u2022\u2022\u2022' \\<br\/>--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \\<br\/>--data-urlencode 'cardTokenId=xxxxxxxxxxxxxxxxxxxxxxxx'<br\/>--data-urlencode 'currency=EUR' \\<br\/>--data-urlencode 'amount=1000' \\<br\/>--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \\<br\/>--data-urlencode 'endUserLanguage=fre' \\<br\/>--data-urlencode 'source=EC' \\<br\/>--data-urlencode 'browserUserAgent=Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/101.0.4951.41 Safari\/537.36' \\<br\/>--data-urlencode 'browserAcceptLanguage=en_US' \\<br\/>--data-urlencode 'email=xxxxx@example.com' \\<br\/>--data-urlencode 'country=FRA' \\<br\/>--data-urlencode 'merchantTransactionId=1234567890123456789'<br\/><\/pre>\n\n<p class=\"wp-block-paragraph\">The cardToken already encapsulates the Apple Pay context and authentication data.<\/p>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><strong>Create a transaction using your encrypted Apple Pay token.<\/strong>  <strong>(Backend)<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">When making your API call, in addition to the required fields, you must include the \u201capplePayToken\u201d field in JSON format, containing your Apple Pay token, which includes the elements <code>paymentData<\/code>, <code>paymentMethod<\/code> and <code>transactionIdentifier<\/code>.<\/p>\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n<p class=\"wp-block-paragraph\">Then use the <a href=\"https:\/\/docs.centralpay.com\/documentation\/developpeurs\/card-payment\/transaction\/#\/Transaction\/post_transaction\">\/transaction POST<\/a> endpoint of the CentralPay API<\/p>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">Required fields:<\/span><\/p>\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-background has-link-color wp-elements-158d0dadf04ea4cbf38732b34afa75d9\" style=\"background-color:#abb7c22e\">curl --location 'https:\/\/api.centralpay.net\/transaction' \\<br\/>--header 'Content-Type: application\/x-www-form-urlencoded' \\<br\/>--header 'Authorization: \u2022\u2022\u2022\u2022\u2022\u2022' \\<br\/>--data-urlencode 'customerId=870005ca-xxxx-xxxx-xxxx-140fa71d6e01' \\<br\/>--data-urlencode 'currency=EUR' \\<br\/>--data-urlencode 'amount=1000' \\<br\/>--data-urlencode 'endUserIp=xxxx.xxxx.xxxx.xxxx' \\<br\/>--data-urlencode 'endUserLanguage=fre' \\<br\/>--data-urlencode 'source=EC' \\<br\/>--data-urlencode 'browserUserAgent=Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/101.0.4951.41 Safari\/537.36' \\<br\/>--data-urlencode 'browserAcceptLanguage=en_US' \\<br\/>--data-urlencode 'email=xxxxx@example.com' \\<br\/>--data-urlencode 'country=FRA' \\<br\/>--data-urlencode 'merchantTransactionId=1234567890123456789'<br\/>--data-urlencode 'applePayToken=xxxxxxxxxxxxxxxxxxxxxxxx'<\/pre>\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n<h2 class=\"wp-block-heading\">3. Google Pay (Smart Form)<\/h2>\n\n<p class=\"wp-block-paragraph\">Google Pay is natively integrated into the <strong>SmartForm<\/strong> card payment flow (<code>PaymentRequest <\/code>&gt; <code>paymentMethod[]=TRANSACTION<\/code>), provided your customer&#8217;s device or browser is compatible.<\/p>\n\n<p class=\"wp-block-paragraph\">No action is required on your part. The service will be fully managed by CentralPay (Google Pay compatibility detection, certificate and token management, PCI-DSS security). No card data passes through the merchant\u2019s system; the payment flow falls within the scope of PCI-DSS SAQ-A.  <\/p>\n\n<h2 class=\"wp-block-heading\">4. Google Pay (Custom Form)<\/h2>\n\n<p class=\"wp-block-paragraph\">CentralPay enables the integration of Google Pay via the <strong>PAYMENT_GATEWAY<\/strong> mode, as required by Google Pay in a <strong>multi-merchant PSP<\/strong> environment, without requiring server-side decryption of the token.<\/p>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><strong>Requirements<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">1. Create a Google Pay Business account:<\/span><\/p>\n\n<ul class=\"wp-block-list\">\n<li>Access the <a href=\"https:\/\/pay.google.com\/business\/console\" target=\"_blank\" rel=\"noreferrer noopener\">Google Pay Business Console<\/a><\/li>\n\n\n\n<li>Create a Merchant Profile or link an existing one.<\/li>\n\n\n\n<li>Please enter your company and business information.<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">2. Register your domain:<\/span><\/p>\n\n<ul class=\"wp-block-list\">\n<li>In the Google Pay console, go to the <strong>\u201cDomains\u201d<\/strong> tab<\/li>\n\n\n\n<li>Add your production and test domains (e.g., <code>example.com<\/code>)<\/li>\n\n\n\n<li>Google will ask you to upload a verification file there to confirm your ownership<\/li>\n<\/ul>\n\n<pre class=\"wp-block-preformatted\">\u26a0\ufe0f <strong>Google Pay provides a domain-specific<\/strong> <code>merchantId<\/code>.<br\/>This <code>merchantId<\/code> is required for all Google Pay Payment Requests.<br\/>Using a <code>merchantId<\/code> that is not associated with the domain results in a <strong>Google Pay error (Error 11)<\/strong>.<\/pre>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">3. Implement your Google Pay front-end integration:<\/span><\/p>\n\n<ul class=\"wp-block-list\">\n<li>Implement Google Pay on the front end using <a href=\"https:\/\/developers.google.com\/pay\/api\/web\/overview\" target=\"_blank\" rel=\"noreferrer noopener\">Google Pay JS<\/a> (for websites) or <a href=\"https:\/\/developers.google.com\/pay\/api\/android\/overview\" target=\"_blank\" rel=\"noreferrer noopener\">Google Pay Android API<\/a> (for mobile apps)<\/li>\n\n\n\n<li>Collect the Google Pay token (tokenizationData.token) after the user has authorized the payment (PIN, fingerprint, facial recognition, etc.).<\/li>\n<\/ul>\n\n<pre class=\"wp-block-preformatted\">\u2139\ufe0f Google offers an official tutorial for this integration: <a href=\"https:\/\/developers.google.com\/pay\/api\/web\/guides\/tutorial\" target=\"_blank\" rel=\"noreferrer noopener\">Google Pay API | Google for Developers<\/a><\/pre>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">4. Retrieve your CentralPay login credentials:<\/span><\/p>\n\n<ul class=\"wp-block-list\">\n<li>MerchantPublicKey: Log in to your         <span class=\"direction_steps\">\r\n            <span class=\"direction_step\">CentralPay Back Office portal \u2192 Administration \u2192 Technical \u2192 Merchant Public Key<\/span>        <\/span>\r\n        <\/li>\n\n\n\n<li>API Login: Log in to your CentralPay Back Office portal        <span class=\"direction_steps\">\r\n            <span class=\"direction_step\"> \u2192 Administration \u2192 Technical \u2192 API ID and copy the ID<\/span>        <\/span>\r\n        <\/li>\n\n\n\n<li>        <span class=\"direction_steps\">\r\n            <span class=\"direction_step\">API Pass: Log in to your CentralPay Back Office portal \u2192 Administration \u2192 Technical \u2192 Click on your API ID \u2192 Edit \u2192 Generate, copy your API pass, and update it<\/span>        <\/span>\r\n        <\/li>\n<\/ul>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><strong>Step 1: Configuring Google Pay on the front end<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">\u2139\ufe0f The Google Pay button is provided by the <strong>official Google Pay SDK<\/strong>.<br\/>Payment initiation and token generation are entirely controlled by Google Pay (hosted button).<\/p>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">1. Specify the API version:<\/span><\/p>\n\n<pre class=\"wp-block-code has-black-color has-text-color has-background has-link-color wp-elements-ab817d259b50a6566e26eab102316a04\" style=\"background-color:#f8f8f8\"><code lang=\"javascript\" class=\"language-javascript\">const baseRequest = {\n  apiVersion: 2,\n  apiVersionMinor: 0\n};<\/code><\/pre>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">2. Use CentralPay as a payment gateway:<\/span><\/p>\n\n<p class=\"wp-block-paragraph\">Configure tokenization as follows:<\/p>\n\n<pre class=\"wp-block-code has-black-color has-text-color has-background has-link-color wp-elements-c5b1ea0796587ebb86ef2d820fa3afc0\" style=\"background-color:#f8f8f8\"><code lang=\"javascript\" class=\"language-javascript\">const tokenizationSpecification = {\n  type: 'PAYMENT_GATEWAY',\n  parameters: {\n    gateway: 'centralpay',\n    gatewayMerchantId: 'YOUR_GATEWAY_MERCHANT_ID'\n  }\n};<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">Replace YOUR_GATEWAY_MERCHANT_ID with your MerchantPublicKey provided by CentralPay.<\/p>\n\n<div style=\"height:29px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">3. Specify the types of cards accepted: <\/span><\/p>\n\n<pre class=\"wp-block-code has-black-color has-text-color has-background has-link-color wp-elements-2412ef84673504d43226f0a248d40c48\" style=\"background-color:#f8f8f8\"><code lang=\"javascript\" class=\"language-javascript\">const allowedCardNetworks = [\"AMEX\", \"MASTERCARD\", \"VISA\"];<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">4. Select the payment method: <\/span><\/p>\n\n<p class=\"wp-block-paragraph\">There are two different types: <strong>PAN_ONLY<\/strong> and <strong>CRYPTOGRAM_3DS<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>\u26a0\ufe0f<\/strong>\u200bCentralPay does not allow the use of the PAN_ONLY type because it requires compliance with specific security standards. Only the CRYPTOGRAM_3DS type is allowed. <\/p>\n\n<pre class=\"wp-block-code has-black-color has-text-color has-background has-link-color wp-elements-a6c9dcd7590b490ba427d340dcf7b5df\" style=\"background-color:#f8f8f8\"><code lang=\"javascript\" class=\"language-javascript\">const allowedCardAuthMethods = [\"CRYPTOGRAM_3DS\"];<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">5<span style=\"text-decoration: underline;\">. Test or production environment:<\/span><\/p>\n\n<pre class=\"wp-block-code has-black-color has-text-color has-background has-link-color wp-elements-c4c1aee627d0735df08e1d9a983eecb0\" style=\"background-color:#f8f8f8\"><code lang=\"javascript\" class=\"language-javascript\">\/\/ Environnement de test\nconst paymentsClient = new google.payments.api.PaymentsClient({ environment: 'TEST' });\n\n\/\/ Environnement de production\nconst paymentsClient = new google.payments.api.PaymentsClient({ environment: 'PRODUCTION' });<\/code><\/pre>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><strong>Step 2: Retrieving the Google Pay token<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">When an end user authorizes a payment via Google Pay, the API returns a token in JSON format in:<\/p>\n\n<pre class=\"wp-block-code has-black-color has-text-color has-background has-link-color wp-elements-2d8448c3e7bdf3130b97de29b61e69ef\" style=\"background-color:#f8f8f8\"><code lang=\"javascript\" class=\"language-javascript\">paymentData.paymentMethodData.tokenizationData.token<\/code><\/pre>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\">This field contains a JSON string representing an object of the following type:<\/p>\n\n<pre class=\"wp-block-code has-black-color has-text-color has-background has-link-color wp-elements-2d3d1156c5e7fea5dc378b5cb4a74d64\" style=\"background-color:#f8f8f8\"><code lang=\"json\" class=\"language-json\">{\n  \"signature\": \"MEYCIQDn...\",\n  \"protocolVersion\": \"ECv2\",\n  \"intermediateSigningKey\": {\n    \"signedKey\": \"{...}\",\n    \"signatures\": [\"MEUCID...\"]\n  },\n  \"signedMessage\": \"{...}\"\n}<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">This block must be sent as-is to the CentralPay API when creating the cardToken in the googlePayToken field.<\/p>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><strong>Step 3: Sending the token to CentralPay (creating the cardToken)<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Make a POST request to CentralPay&#8217;s \/cardToken endpoint with the following parameters:<\/p>\n\n<p class=\"wp-block-paragraph\">Required parameters:<\/p>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>amount<\/code><\/td><td>Amount in centimes (e.g., 2,500 for \u20ac25.00)<\/td><\/tr><tr><td><code>currency<\/code><\/td><td>ISO alpha code (e.g., EUR, USD, etc.)<\/td><\/tr><tr><td><code>googlePayToken<\/code><\/td><td>The complete JSON returned by Google Pay (tokenizationData.token)<\/td><\/tr><tr><td><code>merchantPublicKey<\/code><\/td><td>CentralPay public key available in the back office<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><strong>Example request (x-www-form-urlencoded format):<\/strong><\/p>\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-link-color wp-elements-6879cf3d3c61ce1c9e15e6e84826a254\">amount=2500<br\/>currency=EUR<br\/>merchantPublicKey=abcdef123456...<br\/>googlePayToken={\"signature\":\"MEYCIQDn...\",\"protocolVersion\":\"ECv2\",...}<\/pre>\n\n<p class=\"wp-block-paragraph\">Do not decrypt the token yourself: CentralPay handles its validation on the server side.<\/p>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><strong>Step 4: Creating the transaction<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Once you have obtained the cardToken, you can initiate a transaction in the standard way via endpoint <code>POST \/transaction<\/code>.<\/p>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">Example settings:<\/span><\/p>\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-link-color wp-elements-9dceab0ce8ba09988d2d0c8c1c8b8a29\">cardToken=...<br\/>amount=2500<br\/>currency=EUR<br\/>pointOfSaleId=...<br\/>endUserIp=...<br\/>merchantTransactionId=...<\/pre>\n\n<p class=\"wp-block-paragraph\">The cardToken already contains all the authentication information: there is no need to add a cryptogram or a CVV field.<\/p>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><strong>Step 5: Testing before deployment<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">The CentralPay test environment allows you to validate your entire Google Pay integration without triggering actual payments. We strongly recommend using this environment for all phases of development, debugging, and validation, both on the front end and the back end. <\/p>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-small-font-size has-custom-font-size wp-element-button\" href=\"https:\/\/test-backoffice.centralpay.net\" target=\"_blank\" rel=\"noreferrer noopener\">Test portal<\/a><\/div>\n<\/div>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-small-font-size has-custom-font-size wp-element-button\" href=\"https:\/\/test-api.centralpay.net\/v2\/rest\/\" target=\"_blank\" rel=\"noreferrer noopener\">Test API<\/a><\/div>\n<\/div>\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-small-font-size has-custom-font-size wp-element-button\" href=\"https:\/\/docs.centralpay.com\/documentation\/developpeurs\/resources-by-type\/test-values\/test-cards\/\" target=\"_blank\" rel=\"noreferrer noopener\">Test cards<\/a><\/div>\n<\/div>\n\n<div style=\"height:70px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline;\">Differences between the test and production environments:<\/span><\/p>\n\n<ul class=\"wp-block-list\">\n<li>The <strong>API URLs<\/strong> are different: they use the \u201ctest-\u201d prefix\n<ul class=\"wp-block-list\">\n<li>Test: <a href=\"https:\/\/test-api.centralpay.net\/v2\/rest\/transaction\">https:\/\/test-api.centralpay.net\/v2\/rest\/transaction<\/a><\/li>\n\n\n\n<li>Deployment: <a href=\"https:\/\/api.centralpay.net\/v2\/rest\/transaction\">https:\/\/api.centralpay.net\/v2\/rest\/transaction<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The <strong>API credentials (login + secret)<\/strong> are specific to the test environment.<br\/>They are not interchangeable with those used in production.<\/li>\n\n\n\n<li>The <strong>CentralPay public key (merchantPublicKey)<\/strong> is also environment-specific<\/li>\n<\/ul>\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Apple Pay (Smart Form) Apple Pay is natively integrated into the SmartForm card payment flow (PaymentRequest &gt; paymentMethod[]=TRANSACTION) as long as your customer&#8217;s device is compatible. No action is required on your part. The service is fully managed by CentralPay (device detection, management of Apple certificates and tokens, PCI-DSS security). No card data is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":16345,"menu_order":6,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"doc_badge":[140],"class_list":["post-16383","docs","type-docs","status-publish","hentry","doc_badge-applepay-googlepay","no-post-thumbnail"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Card transaction via wallet - CentralPay Documentation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Card transaction via wallet - CentralPay Documentation\" \/>\n<meta property=\"og:description\" content=\"1. Apple Pay (Smart Form) Apple Pay is natively integrated into the SmartForm card payment flow (PaymentRequest &gt; paymentMethod[]=TRANSACTION) as long as your customer&#8217;s device is compatible. No action is required on your part. The service is fully managed by CentralPay (device detection, management of Apple certificates and tokens, PCI-DSS security). No card data is [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/\" \/>\n<meta property=\"og:site_name\" content=\"CentralPay Documentation\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-18T13:47:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1426\" \/>\n\t<meta property=\"og:image:height\" content=\"588\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/card-transaction\\\/card-transaction-via-wallet\\\/\",\"url\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/card-transaction\\\/card-transaction-via-wallet\\\/\",\"name\":\"Card transaction via wallet - CentralPay Documentation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/card-transaction\\\/card-transaction-via-wallet\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/card-transaction\\\/card-transaction-via-wallet\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/docs.centralpay.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/image-1024x422.png\",\"datePublished\":\"2024-03-20T08:16:25+00:00\",\"dateModified\":\"2026-08-18T13:47:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/card-transaction\\\/card-transaction-via-wallet\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/card-transaction\\\/card-transaction-via-wallet\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/card-transaction\\\/card-transaction-via-wallet\\\/#primaryimage\",\"url\":\"https:\\\/\\\/docs.centralpay.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/image-1024x422.png\",\"contentUrl\":\"https:\\\/\\\/docs.centralpay.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/image-1024x422.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/card-transaction\\\/card-transaction-via-wallet\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Card transaction\",\"item\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/card-transaction\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Card transaction via wallet\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/\",\"name\":\"CentralPay Documentation\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/#organization\",\"name\":\"CentralPay Documentation\",\"url\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/docs.centralpay.com\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-centralpay-2023.png\",\"contentUrl\":\"https:\\\/\\\/docs.centralpay.com\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-centralpay-2023.png\",\"width\":2382,\"height\":370,\"caption\":\"CentralPay Documentation\"},\"image\":{\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Card transaction via wallet - CentralPay Documentation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/","og_locale":"en_US","og_type":"article","og_title":"Card transaction via wallet - CentralPay Documentation","og_description":"1. Apple Pay (Smart Form) Apple Pay is natively integrated into the SmartForm card payment flow (PaymentRequest &gt; paymentMethod[]=TRANSACTION) as long as your customer&#8217;s device is compatible. No action is required on your part. The service is fully managed by CentralPay (device detection, management of Apple certificates and tokens, PCI-DSS security). No card data is [&hellip;]","og_url":"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/","og_site_name":"CentralPay Documentation","article_modified_time":"2026-08-18T13:47:39+00:00","og_image":[{"width":1426,"height":588,"url":"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/","url":"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/","name":"Card transaction via wallet - CentralPay Documentation","isPartOf":{"@id":"https:\/\/docs.centralpay.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/#primaryimage"},"image":{"@id":"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/#primaryimage"},"thumbnailUrl":"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-1024x422.png","datePublished":"2024-03-20T08:16:25+00:00","dateModified":"2026-08-18T13:47:39+00:00","breadcrumb":{"@id":"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/#primaryimage","url":"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-1024x422.png","contentUrl":"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2024\/03\/image-1024x422.png"},{"@type":"BreadcrumbList","@id":"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/card-transaction-via-wallet\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/docs.centralpay.com\/en\/"},{"@type":"ListItem","position":2,"name":"Card transaction","item":"https:\/\/docs.centralpay.com\/en\/documentation\/card-transaction\/"},{"@type":"ListItem","position":3,"name":"Card transaction via wallet"}]},{"@type":"WebSite","@id":"https:\/\/docs.centralpay.com\/en\/#website","url":"https:\/\/docs.centralpay.com\/en\/","name":"CentralPay Documentation","description":"","publisher":{"@id":"https:\/\/docs.centralpay.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/docs.centralpay.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/docs.centralpay.com\/en\/#organization","name":"CentralPay Documentation","url":"https:\/\/docs.centralpay.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/docs.centralpay.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2023\/07\/logo-centralpay-2023.png","contentUrl":"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2023\/07\/logo-centralpay-2023.png","width":2382,"height":370,"caption":"CentralPay Documentation"},"image":{"@id":"https:\/\/docs.centralpay.com\/en\/#\/schema\/logo\/image\/"}}]}},"author_avatar":"https:\/\/secure.gravatar.com\/avatar\/0ab6fa93b0f18fc2235a0e635e81fc14b314e2bb1768930c4ac7606e1f34f470?s=96&d=mm&r=g","author_name":"centralpay_doc","_links":{"self":[{"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/docs\/16383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/comments?post=16383"}],"version-history":[{"count":1,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/docs\/16383\/revisions"}],"predecessor-version":[{"id":16387,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/docs\/16383\/revisions\/16387"}],"up":[{"embeddable":true,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/docs\/16345"}],"wp:attachment":[{"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/media?parent=16383"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/doc_tag?post=16383"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/doc_badge?post=16383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}