Create checkout settings

Merchant API code sample to create checkout settings.

Java

  // Copyright 2025 Google LLC 
 // Licensed under the Apache License, Version 2.0 (the "License"); 
 // you may not use this file except in compliance with the License. 
 // You may obtain a copy of the License at 
 // 
 //     https://www.apache.org/licenses/LICENSE-2.0 
 // 
 // Unless required by applicable law or agreed to in writing, software 
 // distributed under the License is distributed on an "AS IS" BASIS, 
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 // See the License for the specific language governing permissions and 
 // limitations under the License. 
 package 
  
 shopping.merchant.samples.accounts.checkoutsettings.v1 
 ; 
 import 
  
 com.google.api.gax.core.FixedCredentialsProvider 
 ; 
 import 
  
 com.google.auth.oauth2.GoogleCredentials 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.CheckoutSettings 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.CheckoutSettingsName 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.CheckoutSettingsServiceClient 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.CheckoutSettingsServiceSettings 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.CreateCheckoutSettingsRequest 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.UriSettings 
 ; 
 import 
  
 com.google.shopping.type.Destination.DestinationEnum 
 ; 
 import 
  
 shopping.merchant.samples.utils.Authenticator 
 ; 
 import 
  
 shopping.merchant.samples.utils.Config 
 ; 
 /** This class demonstrates how to create checkout settings for a given Merchant Center account. */ 
 public 
  
 class 
 CreateCheckoutSettingsSample 
  
 { 
  
 public 
  
 static 
  
 void 
  
 createCheckoutSettings 
 ( 
 Config 
  
 config 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 // Obtains OAuth token based on the user's configuration. 
  
 GoogleCredentials 
  
 credential 
  
 = 
  
 new 
  
 Authenticator 
 (). 
 authenticate 
 (); 
  
 // Creates service settings using the credentials retrieved above. 
  
 CheckoutSettingsServiceSettings 
  
 checkoutSettingsServiceSettings 
  
 = 
  
 CheckoutSettingsServiceSettings 
 . 
 newBuilder 
 () 
  
 . 
 setCredentialsProvider 
 ( 
 FixedCredentialsProvider 
 . 
 create 
 ( 
 credential 
 )) 
  
 . 
 build 
 (); 
  
 // Calls the API and catches and prints any network failures/errors. 
  
 try 
  
 ( 
 CheckoutSettingsServiceClient 
  
 checkoutSettingsServiceClient 
  
 = 
  
 CheckoutSettingsServiceClient 
 . 
 create 
 ( 
 checkoutSettingsServiceSettings 
 )) 
  
 { 
  
 String 
  
 accountId 
  
 = 
  
 config 
 . 
 getAccountId 
 (). 
 toString 
 (); 
  
 // The only valid programId for checkout settings is "checkout" 
  
 String 
  
 programId 
  
 = 
  
 "checkout" 
 ; 
  
 String 
  
 parent 
  
 = 
  
 String 
 . 
 format 
 ( 
 "accounts/%s/programs/%s" 
 , 
  
 accountId 
 , 
  
 programId 
 ); 
  
 String 
  
 name 
  
 = 
  
 CheckoutSettingsName 
 . 
 newBuilder 
 () 
  
 . 
 setAccount 
 ( 
 accountId 
 ) 
  
 . 
 setProgram 
 ( 
 programId 
 ) 
  
 . 
 build 
 () 
  
 . 
 toString 
 (); 
  
 // TODO: Replace this with your checkout URL. 
  
 String 
  
 checkoutUrl 
  
 = 
  
 "https://myshopify.com/cart/1234:1" 
 ; 
  
 // Creates a checkout setting for the given account. 
  
 CreateCheckoutSettingsRequest 
  
 request 
  
 = 
  
 CreateCheckoutSettingsRequest 
 . 
 newBuilder 
 () 
  
 . 
 setParent 
 ( 
 parent 
 ) 
  
 . 
 setCheckoutSettings 
 ( 
  
 CheckoutSettings 
 . 
 newBuilder 
 () 
  
 . 
 setName 
 ( 
 name 
 ) 
  
 . 
 setUriSettings 
 ( 
 UriSettings 
 . 
 newBuilder 
 (). 
 setCheckoutUriTemplate 
 ( 
 checkoutUrl 
 )) 
  
 . 
 addEligibleDestinations 
 ( 
 DestinationEnum 
 . 
 SHOPPING_ADS 
 )) 
  
 . 
 build 
 (); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Sending create checkout settings request:" 
 ); 
  
 CheckoutSettings 
  
 response 
  
 = 
  
 checkoutSettingsServiceClient 
 . 
 createCheckoutSettings 
 ( 
 request 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Created Checkout Settings below:" 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 response 
 ); 
  
 } 
  
 catch 
  
 ( 
 Exception 
  
 e 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "An error has occurred: " 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 e 
 ); 
  
 } 
  
 } 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 Config 
  
 config 
  
 = 
  
 Config 
 . 
 load 
 (); 
  
 createCheckoutSettings 
 ( 
 config 
 ); 
  
 } 
 } 
  
 

PHP

 < ?php 
 /** 
 * Copyright 2025 Google LLC 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *     https://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */ 
 require_once __DIR__ . '/../../../../vendor/autoload.php'; 
 require_once __DIR__ . '/../../../Authentication/Authentication.php'; 
 require_once __DIR__ . '/../../../Authentication/Config.php'; 
 use Google\ApiCore\ApiException; 
 use Google\Shopping\Merchant\Accounts\V1\CheckoutSettings; 
 use Google\Shopping\Merchant\Accounts\V1\Client\CheckoutSettingsServiceClient; 
 use Google\Shopping\Merchant\Accounts\V1\CreateCheckoutSettingsRequest; 
 use Google\Shopping\Merchant\Accounts\V1\UriSettings; 
 use Google\Shopping\Type\Destination\DestinationEnum; 
 /** 
 * This class demonstrates how to create checkout settings for a given Merchant 
 * Center account. 
 */ 
 class CreateCheckoutSettingsSample 
 { 
 /** 
 * Creates the checkout settings for a given Merchant Center account. 
 * 
 * @param array $config The configuration file for the Merchant Center account. 
 * 
 * @return void 
 */ 
 public static function createCheckoutSettings(array $config): void 
 { 
 // Obtains OAuth credentials from the configuration file. 
 $credentials = Authentication::useServiceAccountOrTokenFile(); 
 // Creates a client. 
 $checkoutSettingsServiceClient = new CheckoutSettingsServiceClient([ 
 'credentials' => $credentials 
 ]); 
 // The only valid programId for checkout settings is "checkout". 
 $programId = 'checkout'; 
 // Constructs the parent resource name format: 
 // `accounts/{account}/programs/{program}`. 
 $parent = sprintf( 
 'accounts/%s/programs/%s', 
 $config['accountId'], 
 $programId 
 ); 
 // TODO: Replace this with your checkout URL. 
 $checkoutUrl = 'https://myshopify.com/cart/1234:1'; 
 // Creates the URI settings with the checkout URL. 
 $uriSettings = new UriSettings([ 
 'checkout_uri_template' => $checkoutUrl 
 ]); 
 // Creates the checkout settings with the URI settings and eligible 
 // destinations. 
 $checkoutSettings = new CheckoutSettings([ 
 'uri_settings' => $uriSettings, 
 'eligible_destinations' => [DestinationEnum::SHOPPING_ADS] 
 ]); 
 // Creates the request object. 
 $request = (new CreateCheckoutSettingsRequest()) 
 ->setParent($parent) 
 ->setCheckoutSettings($checkoutSettings); 
 // Calls the API and catches and prints any network failures/errors. 
 try { 
 printf("Sending create checkout settings request:%s", PHP_EOL); 
 $response = $checkoutSettingsServiceClient->createCheckoutSettings($request); 
 printf("Created Checkout Settings below:%s", PHP_EOL); 
 print $response->serializeToJsonString(true) . PHP_EOL; 
 } catch (ApiException $e) { 
 printf("An error has occurred: %s", PHP_EOL); 
 print $e->getMessage(); 
 } 
 } 
 /** 
 * Executes the sample. 
 * 
 * @return void 
 */ 
 public function callSample(): void 
 { 
 $config = Config::generateConfig(); 
 self::createCheckoutSettings($config); 
 } 
 } 
 // Runs the sample. 
 $sample = new CreateCheckoutSettingsSample(); 
 $sample->callSample(); 
  
 
Create a Mobile Website
View Site in Mobile | Classic
Share by: