Place test orders
Overview
Place a TEST order using dynamic product information.
Requirements
Set the Payment details type to TEST in order to create an order in a test environment.
Parameters
Parameters | Type/Description |
---|---|
sessionID |
Required (string) |
|
Session identifier, the output of the Login method. Include sessionID into all your requests. Avangate throws an exception if the values are incorrect. The sessionID expires in 10 minutes. |
Order |
Required (Object) |
|
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 containing order information. |
Request
<?php require ('PATH_TO_AUTH'); $Order = new stdClass(); $Order->Currency = "USD"; $Order->Language = "EN"; $Order->Country = "US"; $Order->CustomerIP = '91.220.121.21';//"10.10.13.37"; $Order->Source = "sourceAPI.net"; $Order->LocalTime = date('Y-m-d H:i:s'); $Order->CustomerReference = 421820775; $Order->Items = array(); /** * 1st Product */ $Order->Items[0] = new stdClass(); $Order->Items[0]->Code = null; $Order->Items[0]->Quantity = 2; $Order->Items[0]->PurchaseType = 'PRODUCT'; $Order->Items[0]->Tangible = false; // physical $Order->Items[0]->IsDynamic = true; $Order->Items[0]->Price = new stdClass(); $Order->Items[0]->Price->Amount = 100; $Order->Items[0]->Price->Type = 'CUSTOM'; $Order->Items[0]->Name = 'Dynamic Product 1 '. date("Y-m-d H:i:s"); $Order->Items[0]->Description = 'Description Produs OTF'; $Order->Items[0]->PriceOptions = []; $priceOption = new stdClass(); $priceOption->Name = 'Name'; $priceOption->Value = 'Value'; $priceOption->Surcharge = 10; $Order->Items[0]->PriceOptions[] = $priceOption; $priceOption1 = new stdClass(); $priceOption1->Name = 'Name'; $priceOption1->Value = 'Value123'; $priceOption1->Surcharge = 11; $Order->Items[0]->PriceOptions[] = $priceOption1; $priceOption2 = new stdClass(); $priceOption2->Name = 'Name1'; $priceOption2->Value = 'Value1'; $priceOption2->Surcharge = 12; $Order->Items[0]->PriceOptions[] = $priceOption2; $Order->Items[0]->RecurringOptions = new stdClass(); $Order->Items[0]->RecurringOptions->CycleLength = 1; $Order->Items[0]->RecurringOptions->CycleUnit = 'MONTH'; $Order->Items[0]->RecurringOptions->CycleAmount = 1234; $Order->Items[0]->RecurringOptions->ContractLength = 3; $Order->Items[0]->RecurringOptions->ContractUnit = 'Year'; /* * 3rd Product - SHIPPING */ $Order->Items[2] = new stdClass(); $Order->Items[2]->Name = 'Shipping Item '. date("Y-m-d H:i:s"); $Order->Items[2]->PurchaseType = 'SHIPPING'; $Order->Items[2]->Quantity = 1; $Order->Items[2]->Price = new stdClass(); $Order->Items[2]->Price->Amount = 123; $Order->Items[2]->IsDynamic = true; /** * 4th Product - TAX */ $Order->Items[3] = new stdClass(); $Order->Items[3]->Name = 'Tax Item '. date("Y-m-d H:i:s"); $Order->Items[3]->PurchaseType = 'TAX'; $Order->Items[3]->Quantity = 1; $Order->Items[3]->Price = new stdClass(); $Order->Items[3]->Price->Amount = 456; $Order->Items[3]->IsDynamic = true; $Order->Items[3]->RecurringOptions = new stdClass(); $Order->Items[3]->RecurringOptions->CycleLength = 1; $Order->Items[3]->RecurringOptions->CycleUnit = 'MONTH'; $Order->Items[3]->RecurringOptions->CycleAmount = 10.2; $Order->Items[3]->RecurringOptions->ContractLength = 3; $Order->Items[3]->RecurringOptions->ContractUnit = 'Year'; /** * 5th Product - COUPON */ $Order->Items[4] = new stdClass(); $Order->Items[4]->Name = 'Coupon Item '. date("Y-m-d H:i:s"); $Order->Items[4]->PurchaseType = 'COUPON'; $Order->Items[4]->Quantity = 1; $Order->Items[4]->Price = new stdClass(); $Order->Items[4]->Price->Amount = 234; $Order->Items[4]->IsDynamic = true; /**/ $additionalField1 = new stdClass(); $additionalField1->Code = "additional_field_order_1"; $additionalField1->Text = "REST"; $additionalField1->Value = "1"; $Order->AdditionalFields = array(); $additionalField1 = new stdClass(); $additionalField1->Code = "REST"; $additionalField1->Text = "REST"; $additionalField1->Value = "REST"; $Order->MachineId = 'machineIdTest'; $Order->Discount = null; $Order->ExternalReference = null; $Order->BillingDetails = new stdClass(); $Order->BillingDetails->Address1 = 'Billing address 1'; $Order->BillingDetails->Address2 = 'Billing address 2'; $Order->BillingDetails->City = 'New York City'; $Order->BillingDetails->State = 'New York'; $Order->BillingDetails->CountryCode = 'US'; $Order->BillingDetails->Phone = 12345; $Order->BillingDetails->Email = 'customer@email.com'; $Order->BillingDetails->FirstName = 'John'; $Order->BillingDetails->LastName = 'Doe'; $Order->BillingDetails->Company = 'ABC Company'; $Order->BillingDetails->Zip = '12345'; $Order->BillingDetails->FiscalCode = 13205628845; /**/ $Order->DeliveryDetails = new stdClass(); $Order->DeliveryDetails->Address1 = 'Delivery address 1'; $Order->DeliveryDetails->Address2 = 'Delivery address 2'; $Order->DeliveryDetails->City = 'New York City'; $Order->DeliveryDetails->State = 'New York'; $Order->DeliveryDetails->CountryCode = 'US'; $Order->DeliveryDetails->Phone = '12345'; $Order->DeliveryDetails->Email = 'customer@email.com'; $Order->DeliveryDetails->FirstName = 'John'; $Order->DeliveryDetails->LastName = 'Doe'; $Order->DeliveryDetails->Zip = 12345; /**/ $Order->PaymentDetails = new stdClass(); $Order->PaymentDetails->Type = "TEST"; $Order->PaymentDetails->Currency = "USD"; $Order->PaymentDetails->CustomerIP = '91.220.121.21';//"10.10.13.37"; $Order->PaymentDetails->PaymentMethod = new stdClass(); /**/ $Order->PaymentDetails->PaymentMethod->CardNumber = "4111111111111111";//4222222222222 //4111111111111111 //4984123412341234 - Installments $Order->PaymentDetails->PaymentMethod->CardType = "VISA";/**/ /**/ $Order->PaymentDetails->PaymentMethod->ExpirationYear = "2020"; $Order->PaymentDetails->PaymentMethod->ExpirationMonth = "12"; $Order->PaymentDetails->PaymentMethod->CCID = "123"; $Order->PaymentDetails->PaymentMethod->HolderName = "John Doe"; $Order->PaymentDetails->PaymentMethod->RecurringEnabled = true; $Order->PaymentDetails->PaymentMethod->HolderNameTime = 1; $Order->PaymentDetails->PaymentMethod->CardNumberTime = 1; try { $prevrefOrder = $client->placeOrder($sessionID, $Order); } catch (SoapFault $e) { echo "prevrefOrder: " . $e->getMessage(); exit; } var_dump("prevrefOrder", $prevrefOrder);