Place a renewal order
Overview
Renew a subscription by using the Avangate Subscription Reference. Collect recurring revenue with one of the following payment methods:
- Credit cards
- PayPal
- WeChat Pay
- iDEAL
- Purchase Order
- Wire
Use the PaymentDetails object to control the payment method used in the renewal process.
Requirements
To place a renewal order, you need to provide a valid subscription reference number.
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. |
Required (Object) |
|
|
Object designed to collect all data necessary for an order, including billing, product/subscription plan and payment details. To place an order with PayPal rather than PayPal Express, use PAYPAL as the type of the PaymentDetails object and send the shopper email and a return URL as part of the PaymentMethod object. See code sample. |
SubscriptionReference |
Required (String) Avangate generated subscription reference number. E.q. A8C5671BFE. |
Response
Parameters | Type/Description |
---|---|
Object |
Request
<?php require ('PATH_TO_AUTH'); $Order = new stdClass(); $Order->Currency = 'USD'; $Order->Language = "EN"; $Order->Country = 'US'; $Order->CustomerIP = '91.220.121.21'; $Order->Source = "sourceAPI.net"; $Order->LocalTime = date('Y-m-d H:i:s'); $Order->Items = array(); /**/ $Order->Items[0]->RenewalInformation = new stdClass(); $Order->Items[0]->RenewalInformation->SubscriptionReference = 'A8C5671BFE'; //subscription used in the renewal process $Order->Items[0]->Price = new stdClass(); $Order->Items[0]->Price->Type = 'CUSTOM'; $Order->Items[0]->Price->Amount = '10'; $Order->Items[0]->PriceOptions = array('uniqscale1=4');// $Order->MachineId = "MachineID"; $Order->BillingDetails = new stdClass(); $Order->BillingDetails->Address1 = 'Bil1ing address'; $Order->BillingDetails->Address2 = 'Billing address 2'; $Order->BillingDetails->City = 'Billing City'; $Order->BillingDetails->State = 'Billing State'; $Order->BillingDetails->CountryCode = 'US'; $Order->BillingDetails->Phone = 1231232123; $Order->BillingDetails->Email = 'customer_details@test.com'; $Order->BillingDetails->FirstName = 'First'; $Order->BillingDetails->LastName = 'Customer'; $Order->BillingDetails->Company = 'Billing Company'; $Order->BillingDetails->Zip = '55104'; $Order->DeliveryDetails = new stdClass(); $Order->DeliveryDetails->Address1 = 'Bil1ing address'; $Order->DeliveryDetails->Address2 = 'Billing address 2'; $Order->DeliveryDetails->City = 'Billing City'; $Order->DeliveryDetails->State = 'Billing State'; $Order->DeliveryDetails->CountryCode = 'US'; $Order->DeliveryDetails->Phone = '12345'; $Order->DeliveryDetails->Email = 'customer_details@test.com'; $Order->DeliveryDetails->FirstName = 'First'; $Order->DeliveryDetails->LastName = 'Customer'; $Order->DeliveryDetails->Zip = "55104"; $Order->PaymentDetails = new stdClass(); $Order->PaymentDetails->Type = "CC"; $Order->PaymentDetails->Currency = $currency; $Order->PaymentDetails->PaymentMethod = new stdClass(); /**/ $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 Doe"; $Order->PaymentDetails->PaymentMethod->RecurringEnabled = TRUE; $Order->PaymentDetails->PaymentMethod->HolderNameTime = 1; $Order->PaymentDetails->PaymentMethod->CardNumberTime = 1; /**/ $jsonRpcRequest = new stdClass(); $jsonRpcRequest->jsonrpc = '2.0'; $jsonRpcRequest->method = 'placeOrder'; $jsonRpcRequest->params = array($sessionID, $Order); $jsonRpcRequest->id = $i++; $placeOrder = callRPC($jsonRpcRequest, $host); var_dump ($placeOrder);