Update a promotion
Overview
Parameters
Response
Request
<?php class Client { protected static $merchantCode; protected static $loginDate; protected static $hash; protected static $baseUrl; protected static $callCount = 0; protected static $sessionId = ''; protected static $client; public static function setCredentials($code, $key) { static::$merchantCode = $code; static::$loginDate = gmdate('Y-m-d H:i:s'); static::$hash = hash_hmac('md5', strlen($code) . $code . strlen(static::$loginDate) . static::$loginDate, $key); static::$sessionId = static::login(); } public static function setBaseUrl($url) { static::$baseUrl = $url; } public static function login() { $client = static::getClient(); return $client->login(static::$merchantCode, static::$loginDate, static::$hash); } public static function __callStatic($name, $arguments = array()) { $client = static::getClient(); array_unshift($arguments, static::$sessionId); $response = call_user_func_array(array($client, $name), $arguments); return $response; } protected static function getClient() { $opts = array( 'http'=> ['user_agent' => 'PHPSoapClient'], 'ssl' => [ 'verify_peer' => false, 'verify_peer_name' => false, ], ); if (null === static::$client) { static::$client = new \SoapClient(static::$baseUrl . '?wsdl', [ 'location' => static::$baseUrl, 'cache_wsdl' => WSDL_CACHE_NONE, 'stream_context' => stream_context_create($opts), ]); } return static::$client; } } Client::setBaseUrl('https://api.2checkout.com/soap/3.1/'); Client::setCredentials('YOUR_MERCHANT_CODE', 'YOUR_SECRET_KEY'); Client::login(); // Retrieve promotion details $promotionCode = 'PROMOTION_CODE'; // code of the promotion that you want to update $existingPromotion = Client::getPromotion($promotionCode); // Keep the promotion you want to update in $existingPromotion // Set the fields to update $existingPromotion->Name = 'YOUR_UPDATED_NAME'; // Update the promotion $response = Client::updatePromotion($existingPromotion); var_dump($response);