Place order with custom subscription settings
Overview
Use the placeOrder method to create an order using custom subscription settings via SOAP API 6.0.
Request parameters
Parameters | Type | Required/Optional | Description |
---|---|---|---|
sessionID | String | Required | Session identifier, the output of the Login method. Include sessionID into all your requests. 2Checkout throws an exception if the values are incorrect. The sessionID expires in 10 minutes. |
Order | Object | Required |
Object designed to collect all data necessary for an order, including billing, product/subscription plan, and payment details. |
Response
Parameters | Type | Description |
---|---|---|
Order information | Object | Object that includes all data necessary for an order, including billing, product/subscription plan, and payment details. |
Request sample
<?php $Order = new \stdClass(); $Order->Currency = 'usd'; $Order->Country = 'US'; $Order->Language = 'en'; $Order->CustomerIP = '91.220.121.21'; $Order->ExternalReference = NULL; $Order->Source = NULL; $Order->AffiliateId = NULL; $Order->CustomerReference = NULL; // Don't forget about B2B flag $Order->ExtraInformation = new \stdClass(); $Order->ExtraInformation->B2B = true; $Order->Items = array(); $Order->Items[0] = new \stdClass(); $Order->Items[0]->Code = 'my_subscription_1'; $Order->Items[0]->Quantity = 1; $Order->Items[0]->PriceOptions = NULL; $Order->Items[0]->SKU = NULL; $Order->Items[0]->Price = NULL; $Order->Items[0]->CrossSell = NULL; $Order->Items[0]->Trial = false; $Order->Items[0]->AdditionalFields = NULL; $Order->Items[0]->SubscriptionStartDate = NULL; //If empty or null, subscriptions become active when purchase is made. // Subscription custom settings $Order->Items[0]->SubscriptionCustomSettings = new \stdClass(); $Order->Items[0]->SubscriptionCustomSettings->ContractLength = "123"; $Order->Items[0]->SubscriptionCustomSettings->CycleAmountType = "NET"; $Order->Items[0]->SubscriptionCustomSettings->CycleUnit = "DAY"; $Order->Items[0]->SubscriptionCustomSettings->CycleAmount = "123"; $Order->Items[0]->SubscriptionCustomSettings->CycleLength = "123"; $Order->Items[0]->SubscriptionCustomSettings->MerchantDealAutoRenewal = true; $Order->Items[0]->SubscriptionCustomSettings->ClientDealAutoRenewal = true; $Order->BillingDetails = new \stdClass(); $Order->BillingDetails->FirstName = 'First'; $Order->BillingDetails->LastName = 'Last'; $Order->BillingDetails->CountryCode = 'us'; $Order->BillingDetails->State = 'California'; $Order->BillingDetails->City = 'LA'; $Order->BillingDetails->Address1 = 'Address example'; $Order->BillingDetails->Address2 = NULL; $Order->BillingDetails->Zip = '90210'; $Order->BillingDetails->Email = 'email@address.com'; $Order->BillingDetails->Phone = NULL; $Order->BillingDetails->Company = NULL; $Order->DeliveryDetails = NULL; $Order->PaymentDetails = new \stdClass (); $Order->PaymentDetails->Type = 'CC'; $Order->PaymentDetails->Currency = 'usd'; $Order->PaymentDetails->PaymentMethod = new \stdClass (); $Order->PaymentDetails->CustomerIP = '10.10.10.10'; $Order->PaymentDetails->PaymentMethod->RecurringEnabled = true; $Order->PaymentDetails->PaymentMethod->CardNumber = "4111111111111111"; $Order->PaymentDetails->PaymentMethod->CardType = 'visa'; $Order->PaymentDetails->PaymentMethod->ExpirationYear = '2019'; $Order->PaymentDetails->PaymentMethod->ExpirationMonth = '12'; $Order->PaymentDetails->PaymentMethod->CCID = '123'; $Order->PaymentDetails->PaymentMethod->HolderName = 'John'; $Order->PaymentDetails->PaymentMethod->CardNumberTime = 83.21; // can be null - high value in seconds is a red flag for fraud attempts. $Order->PaymentDetails->PaymentMethod->HolderNameTime = 13.35; // can be null - high value in seconds is a red flag for fraud attempts. $Order->PaymentDetails->PaymentMethod->Vendor3DSReturnURL = "http://www.success.ro"; $Order->PaymentDetails->PaymentMethod->Vendor3DSCancelURL = "http://www.error.ro"; try { $newOrder = $client->placeOrder($sessionID, $Order); } catch (SoapFault $e) { echo "newOrder: " . $e->getMessage(); exit; }