# Retrieve subscription deal information

0Use the **GetDealInfo** method to retrieve information about the existing deal on a given subscription as well as what the subscription will look like with the new proposed deal being applied to it.

## Request parameters

<table><thead><tr><th width="431.5999755859375">Parameter</th><th>Type / Description</th></tr></thead><tbody><tr><td><code>Currency</code></td><td><p><strong>Required (string)</strong></p><p>The desired output currency.</p></td></tr><tr><td><code>Language</code></td><td><p><strong>Required (string)</strong></p><p>The desired output language.</p></td></tr><tr><td><code>Items</code></td><td><strong>Required (array)</strong><br>Each item corresponds to a subscription.</td></tr><tr><td><code>Items.DealDate</code></td><td><strong>Required (datetime)</strong><br>The date when the deal is set to come into effect. Format: YYYY-MM-DD HH:MM:SS.</td></tr><tr><td><code>Items.SubscriptionReference</code></td><td><strong>Required (string)</strong><br>The subscription code.</td></tr><tr><td><code>Items.ProductCode</code></td><td><strong>Required (string)</strong><br>The product code.</td></tr><tr><td><code>Items.Quantity</code></td><td><strong>Required (string)</strong><br>The product quantity.</td></tr><tr><td><code>Items.DealPriceScenario</code></td><td><strong>Required (string)</strong><br>The upgrade scenario to be applied. Must be one of: using_last_order_price, using_last_product_price, price_total, product_price_difference.</td></tr><tr><td><code>Items.DealSubscriptionScenario</code></td><td><strong>Required (string)</strong><br>The scenarion for price calculation. Must be on of: start_new_deal_contract_now, start_new_deal_contract_after_current_cycle.</td></tr><tr><td><code>Items.PriceOptions</code></td><td><strong>Optional (array)</strong><br>The array of price options.</td></tr><tr><td><code>Items.PriceOptions.Code</code></td><td><strong>Required (string)</strong><br>The price option group code if the group is of interval type or the price option code otherwise.</td></tr><tr><td><code>Items.PriceOptions.Options</code></td><td><strong>Optional (array)</strong><br>The array of options that belong to this option group.</td></tr><tr><td><code>Items.PriceOptions.Options.Value</code></td><td><strong>Required (string)</strong><br>If the group is of type “scale”, this is a value from the allowed interval, otherwise, this is the option code as defined in Merchant Control Panel under “Unique Code”.</td></tr><tr><td><code>Items.Price</code></td><td><strong>Required (object)</strong><br>The product price.</td></tr><tr><td><code>Items.Price.Amount</code></td><td><strong>Required (float)</strong><br>The actual numeric amount.</td></tr><tr><td><code>Items.Price.Type</code></td><td><strong>Required (string)</strong><br>Describes if the price type is catalog or custom. Can be only CUSTOM.</td></tr><tr><td><code>Items.Price.AmountType</code></td><td><strong>Required (string)</strong><br>Describes if the price is NET or GROSS. Can be one of NET, GROSS.</td></tr><tr><td><code>Items.SubscriptionCustomSettings.CycleLength</code></td><td><strong>Required (int)</strong><br>The length of a single billing cycle.</td></tr><tr><td><code>Items.SubscriptionCustomSettings.CycleUnit</code></td><td><strong>Required (string)</strong><br>The unit of a single billing cycle. Can be one of MONTH, DAY. To perform a getDeal call towards a <strong>One Time Fee</strong> subscription, this value must be <strong>-1.</strong></td></tr><tr><td><code>Items.SubscriptionCustomSettings.CycleAmount</code></td><td><strong>Required (float)</strong><br>The price of a single billing cycle.</td></tr><tr><td><code>Items.SubscriptionCustomSettings.CycleAmountType</code></td><td><strong>Required (string)</strong><br>Describes the price type. Can be one of NET, GROSS.</td></tr><tr><td><code>Items.SubscriptionCustomSettings.ContractLength</code></td><td><strong>Required (int)</strong><br>The number of billing cycles contained in a single contract. To perform a getDeal call towards a <strong>One Time Fee</strong> or a <strong>Lifetime</strong> subscription, this value must be <strong>NULL</strong>.</td></tr><tr><td><code>BillingDetails</code></td><td><strong>Required (object)</strong><br>The billing details.</td></tr><tr><td><code>BillingDetails.FirstName</code></td><td><strong>Required (string)</strong><br>The first name.</td></tr><tr><td><code>BillingDetails.LastName</code></td><td><strong>Required (string)</strong><br>The last name.</td></tr><tr><td><code>BillingDetails.CountryCode</code></td><td><strong>Required (string)</strong><br>The country code. Must be one of the seller's associated country codes.</td></tr><tr><td><code>BillingDetails.State</code></td><td><strong>Optional (string)</strong><br>Required only if the business model requires it.</td></tr><tr><td><code>BillingDetails.City</code></td><td><strong>Required (string)</strong><br>The city name.</td></tr><tr><td><code>BillingDetails.Address1</code></td><td><strong>Required (string)</strong><br>The address.</td></tr><tr><td><code>BillingDetails.Zip</code></td><td><strong>Required (string)</strong><br>The zip code.</td></tr><tr><td><code>BillingDetails.Email</code></td><td><strong>Required (string)</strong><br>The email address.</td></tr><tr><td><code>BillingDetails.Phone</code></td><td><strong>Required (string)</strong><br>The phone number.</td></tr><tr><td><code>BillingDetails.Company</code></td><td><strong>Required (string)</strong><br>The company's legal name.</td></tr><tr><td><code>BillingDetails.FiscalCode</code></td><td><strong>Required (string)</strong><br>The fiscal code.</td></tr><tr><td><code>DeliveryDetails</code></td><td><strong>Required (object)</strong><br>The delivery details.</td></tr><tr><td><code>DeliveryDetails.FirstName</code></td><td><strong>Required (string)</strong><br>The first name.</td></tr><tr><td><code>DeliveryDetails.LastName</code></td><td><strong>Required (string)</strong><br>The last name.</td></tr><tr><td><code>DeliveryDetails.CountryCode</code></td><td><strong>Required (string)</strong><br>The country code. Must be one of the seller's associated country codes.</td></tr><tr><td><code>DeliveryDetails.State</code></td><td><strong>Optional (string)</strong><br>Required only if the business model requires it.</td></tr><tr><td><code>DeliveryDetails.City</code></td><td><strong>Required (string)</strong><br>The city name.</td></tr><tr><td><code>DeliveryDetails.Address1</code></td><td><strong>Required (string)</strong><br>The address.</td></tr><tr><td><code>DeliveryDetails.Zip</code></td><td><strong>Required (string)</strong><br>The zip code.</td></tr><tr><td><code>DeliveryDetails.Email</code></td><td><strong>Required (string)</strong><br>The email address.</td></tr><tr><td><code>DeliveryDetails.Phone</code></td><td><strong>Required (string)</strong><br>The phone number.</td></tr><tr><td><code>DeliveryDetails.Company</code></td><td><strong>Required (string)</strong><br>The company's legal name.</td></tr></tbody></table>

### Request sample

{% code title="example.php" %}

```php
<?php
declare(strict_types=1);
class Configuration
{
    public const MERCHANT_CODE = '1234554321';
    public const MERCHANT_KEY = 'D+~=z5R+R4])4D5&p56%';
    public const URL = 'http://api.avangate.local/rpc/6.0';
    public const ACTION = 'getDealInfo';
    //array or JSON
    public const PAYLOAD = <<<JSON
{
  "Currency": "usd",
  "Country": "us",
  "Language": "ro",
  "CustomerIp": "91.220.121.21",
  "Source": "salesforce_cpq",
  "Items": [\
    {\
      "DealDate": "2021-09-20 23:59:59",\
      "SubscriptionReference": "L10RV2QPFZ",\
      "ProductCode": "3EGZDNNRQY",\
      "Quantity": 10,\
      "DealPriceScenario": "using_last_order_price",\
      "DealSubscriptionScenario": "prolong1",\
      "Price": {\
        "Amount": 200,\
        "Type": "CUSTOM",\
        "AmountType": "NET"\
      },\
      "SubscriptionCustomSettings": {\
        "CycleLength": 1,\
        "CycleUnit": "MONTHS",\
        "CycleAmount": 10,\
        "CycleAmountType": "NET",\
        "ContractLength": 12\
      }\
    }\
  ],
  "BillingDetails": {
    "FirstName": "Oscar",
    "LastName": "McMillan",
    "CountryCode": "ro",
    "State": "Ilios",
    "City": "RE",
    "Address1": "4519 Kovar Road",
    "Zip": "645",
    "Email": "o.mcmillan@integrawealth.net",
    "Phone": "6172938133",
    "Company": "Integra Wealth",
    "FiscalCode": "98414321421"
  },
  "DeliveryDetails": {
    "FirstName": "Maria",
    "LastName": "Frederick",
    "CountryCode": "ro",
    "State": "New York",
    "City": "Buffalo",
    "Address1": "2033 Nuzum Court",
    "Zip": "14216",
    "Email": "m.frederick@integrawealth.net",
    "Phone": "7165708136",
    "Company": "Integra Wealth"
  }
}
JSON;
}
class Client
{
    private const LOGIN_METHOD = 'login';
    private $calls = 1;
    private $sessionId;
    private function generateAuth(): array
    {
        $merchantCode = Configuration::MERCHANT_CODE;
        $key = Configuration::MERCHANT_KEY;
        $date = gmdate('Y-m-d H:i:s');
        $string = strlen($merchantCode) . $merchantCode . strlen($date) . $date;
        $hash = hash_hmac('md5', $string, $key);
        return compact('merchantCode', 'date', 'hash');
    }
    public function login(string $url)
    {
        $payload = $this->generateAuth();
        $response = $this->call($url, array_values($payload), self::LOGIN_METHOD);
        $this->sessionId = $response['result'];
    }
    public function call(
        string $url = Configuration::URL,
        $payload = Configuration::PAYLOAD,
        string $action = Configuration::ACTION
    ): ?array {
        if (empty($this->sessionId) && $action !== self::LOGIN_METHOD) {
            $this->login($url);
        }
        if(is_string($payload)) {
            $payload = json_decode($payload, true);
        }
        if (!empty($this->sessionId)) {
            $payload = [$this->sessionId, $payload];
        }
        $payload = array_filter($payload);
        $request = json_encode([\
            'jsonrpc' => '2.0',\
            'method' => $action,\
            'params' => $payload,\
            'id' => $this->calls++,\
        ]);
        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($curl, CURLOPT_SSLVERSION, 0);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Accept: application/json', 'Cookie: XDEBUG_SESSION=PHPSTORM'));
        curl_setopt($curl, CURLOPT_POSTFIELDS, $request);
        $response = curl_exec($curl);
        if(empty($response)) {
            die('Server unavailable');
        }
        echo $response . '</br>';
        return json_decode($response, true);;
    }
}
$client = new Client();
$result = $client->call();
var_dump($result);
```

{% endcode %}

## Response parameters

<table><thead><tr><th width="401.7332763671875">Parameter</th><th>Type / Description</th></tr></thead><tbody><tr><td><code>Currency</code></td><td><strong>String</strong><br>The currency code of all the returned price values.</td></tr><tr><td><code>DealDueNowPriceNet</code></td><td><p><strong>Float</strong></p><p>The NET amount that needs to be paid.</p></td></tr><tr><td><code>DealDueNowPriceGross</code></td><td><strong>Float</strong><br>The GROSS amount that needs to be paid.</td></tr><tr><td><code>DealTaxAmount</code></td><td><strong>Float</strong><br>The tax amount (DealDueNowPriceGross - DealDueNowPriceNet).</td></tr><tr><td><code>Items</code></td><td><strong>Array</strong><br>The array of response items, one for each subscription.</td></tr><tr><td><code>Items.SubscriptionReference</code></td><td><p><strong>String</strong></p><p>The subscription code.</p></td></tr><tr><td><code>Items.DealPriceScenario</code></td><td><strong>String</strong><br>The provided <code>DealPriceScenario</code>.</td></tr><tr><td><code>Items.DealSubscriptionScenario</code></td><td><strong>String</strong><br>The provided <code>DealSubscriptionScenario</code>.</td></tr><tr><td><code>Items.DealDate</code></td><td><strong>Datetime</strong><br>The provided <code>DealDate</code>. Format: YYYY-MM-DD HH:MM:SS.</td></tr><tr><td><code>Items.DealDueNowPriceNet</code></td><td><p><strong>Float</strong></p><p>The NET amount to be paid now.</p></td></tr><tr><td><code>Items.DealDueNowPriceGross</code></td><td><strong>Float</strong><br>The GROSS amount to be paid now.</td></tr><tr><td><code>Items.DealTaxAmount</code></td><td><p><strong>Float</strong></p><p>The tax amount.</p></td></tr><tr><td><code>Items.DealTaxPercent</code></td><td><p><strong>Int</strong></p><p>The percent that the tax amount is covering from the GROSS price.</p></td></tr><tr><td><code>Items.CurrentInfo</code></td><td><p><strong>Object</strong></p><p>The current subscription information.</p></td></tr><tr><td><code>Items.CurrentInfo.ProductCode</code></td><td><strong>String</strong><br>The product code.</td></tr><tr><td><code>Items.CurrentInfo.ProductName</code></td><td><strong>String</strong><br>The product name.</td></tr><tr><td><code>Items.CurrentInfo.ProductDescription</code></td><td><strong>String</strong><br>The product description.</td></tr><tr><td><code>Items.CurrentInfo.BillingPriceNet</code></td><td><strong>Float</strong><br>The NET price of a billing cycle.</td></tr><tr><td><code>Items.CurrentInfo.BillingPriceGross</code></td><td><strong>Float</strong><br>The GROSS price of a billing cycle.</td></tr><tr><td><code>Items.CurrentInfo.NoOfBillingCycles</code></td><td><strong>Int</strong><br>The number of billing cycles.</td></tr><tr><td><code>Items.CurrentInfo.CurrentBillingCycle</code></td><td><strong>Int</strong><br>The current billing cycle number.</td></tr><tr><td><code>Items.CurrentInfo.PayedBillingCycles</code></td><td><strong>Int</strong><br>The number of paid billing cycles.</td></tr><tr><td><code>Items.CurrentInfo.RemainingBillingCycles</code></td><td><strong>Int</strong><br>The number of remaining billing cycles.</td></tr><tr><td><code>Items.CurrentInfo.CurrentBillingCycleEndDate</code></td><td><p><strong>Datetime</strong></p><p>The end date of the current billing cycle. Format: YYYY-MM-DD HH:MM:SS.</p></td></tr><tr><td><code>Items.CurrentInfo.TaxAmount</code></td><td><p><strong>Float</strong></p><p>The tax amount.</p></td></tr><tr><td><code>Items.CurrentInfo.TaxPercent</code></td><td><strong>Float</strong><br>The percent that the tax amount is covering from the GROSS price.</td></tr><tr><td><code>Items.CurrentInfo.BillingCyclesFrequency</code></td><td><p><strong>String</strong></p><p>The frequency of a billing cycle for the current subscription as it is now.</p></td></tr><tr><td><code>Items.CurrentInfo.BillingCycleFrequencyUnit</code></td><td><p><strong>String</strong></p><p>The unit of a billing cycle for the current subscription as it is now. Can be one of MONTHS, DAYS.</p></td></tr><tr><td><code>Items.CurrentInfo.ContractLength</code></td><td><p><strong>Int</strong></p><p>The contract length for the current subscription as it is now.</p></td></tr><tr><td><code>Items.CurrentInfo.ContractLengthUnit</code></td><td><p><strong>Int</strong></p><p>The unit of the contract length for the current subscription as it is now. Can be one of MONTH, DAY.</p></td></tr><tr><td><code>Items.CurrentInfo.ProductOptions</code></td><td><strong>Array</strong><br>The array of existing product options.</td></tr><tr><td><code>Items.CurrentInfo.ProductOptions.Code</code></td><td><strong>String</strong><br>The option group code as defined in the Merchant Control Panel under “Unique Code”.</td></tr><tr><td><code>Items.CurrentInfo.ProductOptions.Value</code></td><td><strong>String</strong><br>The price option value if the group is of type interval or the price option code as defined in the Merchant Control Panel under “Unique Code” otherwise.</td></tr><tr><td><code>Items.NewDealInfo</code></td><td><p><strong>Object</strong></p><p>The new deal information.</p></td></tr><tr><td><code>Items.NewDealInfo.ProductCode</code></td><td><strong>String</strong><br>The product code.</td></tr><tr><td><code>Items.NewDealInfo.ProductName</code></td><td><strong>String</strong><br>The product name.</td></tr><tr><td><code>Items.NewDealInfo.ProductDescription</code></td><td><strong>String</strong><br>The product description.</td></tr><tr><td><code>Items.NewDealInfo.BillingPriceNet</code></td><td><strong>Float</strong><br>The NET price of a billing cycle.</td></tr><tr><td><code>Items.NewDealInfo.BillingPriceGross</code></td><td><strong>Float</strong><br>The GROSS price of a billing cycle.</td></tr><tr><td><code>Items.NewDealInfo.NoOfBillingCycles</code></td><td><strong>Int</strong><br>The number of billing cycles.</td></tr><tr><td><code>Items.NewDealInfo.CurrentBillingCycle</code></td><td><strong>Int</strong><br>The current billing cycle number.</td></tr><tr><td><code>Items.NewDealInfo.PayedBillingCycles</code></td><td><strong>Int</strong><br>The number of paid billing cycles.</td></tr><tr><td><code>Items.NewDealInfo.RemainingBillingCycles</code></td><td><p><strong>Int</strong></p><p>The number of remaining billing cycles.</p></td></tr><tr><td><code>Items.NewDealInfo.CurrentBillingCycleEndDate</code></td><td><p><strong>Datetime</strong></p><p>The end date of the current billing cycle. Format: YYYY-MM-DD HH:MM:SS.</p></td></tr><tr><td><code>Items.NewDealInfo.TaxAmount</code></td><td><p><strong>Float</strong></p><p>The tax amount.</p></td></tr><tr><td><code>Items.NewDealInfo.TaxPercent</code></td><td><strong>Float</strong><br>The percent that the tax amount is covering from the GROSS price.</td></tr><tr><td><code>Items.NewDealInfoBillingCyclesFrequency</code></td><td><strong>Int</strong><br>The frequency of a billing cycle for this subscription following an eventual deal change with the provided <code>Items.SubscriptionCustomSettings</code>. In case of a <strong>One Time Fee</strong> subscription, this value will be <strong>-1</strong>.</td></tr><tr><td><code>Items.NewDealInfo.BillingCycleFrequencyUnit</code></td><td><strong>String</strong><br>The unit of a billing cycle for this subscription following an eventual deal change with the provided <code>Items.SubscriptionCustomSettings</code>. Can be one of MONTH, DAY.</td></tr><tr><td><code>Items.NewDealInfo.ContractLength</code></td><td><strong>Int</strong><br>The contract length for this subscription following an eventual deal change with the provided <code>Items.SubscriptionCustomSettings</code>. In case of a <strong>One Time Fee</strong> or <strong>Lifetime</strong> subscription, this value will be <strong>NULL</strong>.</td></tr><tr><td><code>Items.NewDealInfo.ContractLengthUnit</code></td><td><strong>String</strong><br>The unit of the contract length for this subscription following an eventual deal change with the provided <code>Items.SubscriptionCustomSettings</code>. Can be one of MONTH, DAY.</td></tr><tr><td><code>Items.NewDealInfo.ProductOptions</code></td><td><p><strong>Array</strong></p><p>The array of existing product options.</p></td></tr><tr><td><code>Items.NewDealInfo.ProductOptions.Code</code></td><td><strong>String</strong><br>The option group code as it's defined in the Merchant Control Panel under “Unique Code”.</td></tr><tr><td><code>Items.NewDealInfo.ProductOptions.Value</code></td><td><strong>String</strong><br>The price option value if the group is of type interval or the price option code as defined in the Merchant Control Panel under “Unique Code” otherwise.</td></tr><tr><td><code>Items.TotalsDealInfo</code></td><td><strong>Object</strong><br>General statistics regarding the subscription.</td></tr><tr><td><code>Items.TotalsDealInfo.DealsNumber</code></td><td><p><strong>Int</strong></p><p>The total number of deals made so far.</p></td></tr><tr><td><code>Items.TotalsDealInfo.ContractsNumber</code></td><td><strong>Int</strong><br>The total number of contracts made so far.</td></tr><tr><td><code>Items.TotalsDealInfo.PaidBillingCycles</code></td><td><strong>Int</strong><br>The number of paid billing cycles.</td></tr><tr><td><code>Items.TotalsDealInfo.ElapsedBillingCycles</code></td><td><strong>Int</strong><br>The number of elapsed billing cycles.</td></tr></tbody></table>

## Error handling

| Situation                                                                                 | Error Code                               | Error Message                                                                                                                                                         |
| ----------------------------------------------------------------------------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Mandatory parameter(s) not provided                                                       | MALFORMED\_PARAMETER                     | Currency not provided, Items.SubscriptionReference not provided, Items.Price.Type not provided, ...                                                                   |
| DealDate not provided in required format                                                  | MALFORMED\_PARAMETER                     | Invalid format provided for Items.DealDate. Format must be Y-m-d H:i:s. Provided: 2021-0920 23:59:59.                                                                 |
| DealDate is in the past                                                                   | MALFORMED\_PARAMETER                     | Deal date 2020-09-20 23:59:59 is in the past.                                                                                                                         |
| Subscription not found or not associated with seller                                      | VALIDATION\_SUBSCRIPTION\_MISSING        | Subscription 6D4F1S81EEB not found.                                                                                                                                   |
| Subscription not active                                                                   | VALIDATION\_SUBSCRIPTION\_INACTIVE       | Subscription 6D4F181EEB not active.                                                                                                                                   |
| Product not found or not associated with seller                                           | VALIDATION\_PRODUCT\_MISSING             | Product with code 6A4C23036C not found.                                                                                                                               |
| Product not active                                                                        | VALIDATION\_PRODUCT\_INACTIVE            | Product with code 6A4C23036C not active.                                                                                                                              |
| The subscription is not B2B due to no custom renewal settings being found on subscription | VALIDATION\_SUBSCRIPTION\_NOT\_B2B       | No custom renewal settings found for subscription 6D4F1S81EEB. This subscription may not be a B2B subscription.                                                       |
| Provided price option groups are not valid price options for provided product             | VALIDATION\_PRICE\_OPTION\_MISSING       | Some of the provided price options not found!                                                                                                                         |
| Provided subscription upgrade scenario not among supported values                         | VALIDATION\_DEAL\_SUBSCRIPTION\_SCENARIO | Invalid upgrade subscription scenario provided: 'WRONG\_SCENARIO'. Must be one of start\_new\_deal\_contract\_now, start\_new\_deal\_contract\_after\_current\_cycle. |
| Provided subscription price scenario not among supported values                           | VALIDATION\_DEAL\_PRICE\_SCENARIO        | Invalid price scenario provided: 'WRONG\_SCENARIO'. Must be one of: using\_last\_order\_price, using\_last\_product\_price, price\_total, product\_price\_difference. |
| Provided subscription price scenario not among supported values                           | VALIDATION\_FISCAL\_CODE                 |                                                                                                                                                                       |
| Invalid billing email provided                                                            | VALIDATION\_BILLING\_DETAILS             | Invalid billing email provided.                                                                                                                                       |
| Provided billing country not among seller supported countries.                            | VALIDATION\_BILLING\_DETAILS             | Provided billing country not among seller supported countries.                                                                                                        |
| Business model tax calculation type requires that BillingDetails.State be provided.       | VALIDATION\_BILLING\_DETAILS             | Business model tax calculation type requires that BillingDetails.State be provided.                                                                                   |
| Invalid delivery email provided                                                           | VALIDATION\_DELIVERY\_DETAILS            | Invalid delivery email provided.                                                                                                                                      |
| Provided delivery country not among seller supported countries.                           | VALIDATION\_DELIVERY\_DETAILS            | Provided delivery country not among seller supported countries.                                                                                                       |
| Business model tax calculation type requires that DeliveryDetails.State be provided.      | VALIDATION\_DELIVERY\_DETAILS            | Business model tax calculation type requires that DeliveryDetails.State be provided.                                                                                  |
| Country '{$deliveryCountryCode}' provided in two different business model distributions.  | VALIDATION\_BUSINESS\_MODEL              | Country provided in two different business model distributions.                                                                                                       |
| Invalid price type detected for the next renewal price                                    | INTERNAL\_ERROR                          | Internal error                                                                                                                                                        |
| Unexpected error                                                                          | INTERNAL\_ERROR                          | Internal error                                                                                                                                                        |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.2checkout.com/json-rpc-api-reference/json-rpc-api-6.0/api-requests/subscription/retrieve-subscription-deal-information.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
