getSubscriptionPlans

Returns a list of subscription plans, including details, for the application making the request. Filterable by plan state.



Back to top

getSubscriptionPlans Input

The box below lists all fields that could be included in the call request. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).

See also Samples.

<?xml version="1.0" encoding="utf-8"?>
<getSubscriptionPlansRequest xmlns="http://www.ebay.com/marketplace/services">
  <planState> SubscriptionPlanState </planState>
</getSubscriptionPlansRequest>
Argument Type Occurrence Meaning
planState SubscriptionPlanState Optional Filters response by specifying the state of plans to be returned.

Applicable values:

•   Active

(in/out) The plan is subscribable. The plan can remain hidden from the public in the active state, during final verification.

•   ChangeRequested

(in/out) For future use.

•   Pending

(in/out) Applies when eBay begins configuring the plan in the Managed Billing Platform. If the Developers Program finds an error in the information you provided or in the app, you are notified and the plan is placed in a "change requested" state for you to edit. Please note: When a plan is in a "non-active" state (stored, submitted for configuration, pending, or change requested), the plan is treated as private, meaning that only users specified in the Permission tag of the deployment descriptor can view the plan. Plans in this state cannot be changed.

•   Stored

(in/out) Plan has been created. With a plan in this state you can test how it displays in the subscription flow, and subscribe to the plan without incurring charges. You can also continue to make changes to the plan.

•   Submitted

(in/out) A plan in this state has been submitted for approval and is being tested by eBay. Plans in this state cannot be changed.




Back to top

getSubscriptionPlans Output

The box below lists all fields that might be returned in the response. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).

See also Samples.

<?xml version="1.0" encoding="utf-8"?>
<getSubscriptionPlansResponse xmlns="http://www.ebay.com/marketplace/services">
  <!-- Standard Output Fields -->
  <ack> AckValue </ack>
  <errorMessage> ErrorMessage
    <error> ErrorData
      <category> ErrorCategory </category>
      <domain> string </domain>
      <errorId> long </errorId>
      <exceptionId> token </exceptionId>
      <message> string </message>
      <parameter name="string"> ErrorParameter (string) </parameter>
      <!-- ... more parameter nodes here ... -->
      <severity> ErrorSeverity </severity>
      <subdomain> string </subdomain>
    </error>
    <!-- ... more error nodes here ... -->
  </errorMessage>
  <timestamp> dateTime </timestamp>
  <version> string </version>
  <!-- Call-specific Output Fields -->
  <subscriptionPlan> SubscriptionPlan
    <billable> boolean </billable>
    <externalPlanId> string </externalPlanId>
    <globalId> GlobalId (token) </globalId>
    <planId> long </planId>
    <planName> string </planName>
    <planVersion> SubscriptionPlanVersion
      <planDescription> string </planDescription>
      <planState> SubscriptionPlanState </planState>
      <planVersion> int </planVersion>
      <planVersionDetail> SubscriptionPlanVersionDetail
        <chargeAmount> double </chargeAmount>
        <chargeTerm> int </chargeTerm>
        <chargeTermUnit> SubscriptionChargeTermUnit </chargeTermUnit>
        <chargeType> SubscriptionChargeType </chargeType>
        <extendedDescription> string </extendedDescription>
        <planVersionDetailId> long </planVersionDetailId>
        <usageBilled> boolean </usageBilled>
      </planVersionDetail>
      <!-- ... more planVersionDetail nodes here ... -->
      <planVersionEndTime> dateTime </planVersionEndTime>
      <planVersionId> long </planVersionId>
      <planVersionStartTime> dateTime </planVersionStartTime>
    </planVersion>
    <!-- ... more planVersion nodes here ... -->
    <visible> boolean </visible>
  </subscriptionPlan>
  <!-- ... more subscriptionPlan nodes here ... -->
</getSubscriptionPlansResponse>
Return Value Type Occurrence Meaning
Standard Output Fields   [Jump to call-specific fields]
ack AckValue Always Indicates whether or not errors or warnings were generated during the processing of the request.

Applicable values:

•   Failure

(out) The request that triggered the error was not processed successfully. When a serious application-level error occurs, the error is returned instead of the business data.

•   PartialFailure

(out) The request that triggered the error was processed successfully but with some warnings.

•   Success

(out) The request was processed successfully, but something occurred that may affect your application or the user.

•   Warning

(out) The request that triggered the error was processed successfully but with some warnings.


errorMessage ErrorMessage Conditionally Information for an error or warning that occurred when eBay processed the request.
errorMessage.error ErrorData Conditionally,
repeatable: [0..*]
ActivityProfile about a single error.
errorMessage.error.category ErrorCategory Conditionally There are three categories of errors: request errors, application errors, and system errors.

Applicable values:

•   Application

(out) An error occurred due to a problem with the request, such as missing or invalid fields. The problem must be corrected before the request can be made again. If the problem is due to something in the application (such as a missing required field), the application must be changed. Once the problem in the appilcation or data is resolved, resend the corrected request to eBay.

•   Request

(out) An error occurred due to a problem with the request, such as invalid or missing data. The problem must be corrected before the request can be made again. If the problem is a result of end-user data, the application must alert the end-user to the problem and provide the means for the end-user to correct the data. Once the problem in the data is resolved, resend the request to eBay with the corrected data.

•   System

(out) Indicates that an error has occurred on the eBay system side, such as a database or server down. An application can retry the request as-is a reasonable number of times (eBay recommends twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, the request may be resent in its original form.


errorMessage.error.domain string Conditionally Name of the domain upon which the error occurred.
Domains include:
Marketplace
A business or validation error occurred for the UserProfile Service.
SOA
An exception occurred in the Service Oriented Architecture (SOA) framework.
errorMessage.error.errorId long Conditionally A unique code that identifies the particular error condition that occurred. Your application can use error codes as identifiers in your customized error-handling algorithms.
errorMessage.error.exceptionId token Conditionally Unique identifier for an exception associated with an error.
errorMessage.error.message string Conditionally A detailed description of the condition that resulted in the error.
errorMessage.error.parameter ErrorParameter (string) Conditionally,
repeatable: [0..*]
Some warning and error messages return one or more variables that contain contextual information about the error. This is often the field or value that triggered the error.
errorMessage.error.parameter
  [ attribute name ]
string Conditionally The name of the parameter in the list of parameter types returned within the error type.
errorMessage.error.severity ErrorSeverity Conditionally Indicates whether the error caused the request to fail (Error) or not (Warning).

If the request fails and the source of the problem is within the application (such as a missing required element), please change the application before you retry the request. If the problem is due to end-user input data, please alert the end-user to the problem and provide the means for them to correct the data. Once the problem in the application or data is resolved, you can attempt to re- send the request to eBay.

If the source of the problem is on eBay's side, you can retry the request as-is a reasonable number of times (eBay recommends twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, the request may be resent in its original form.

When a warning occurs, the error is returned in addition to the business data. In this case, you do not need to retry the request (as the original request was successful). However, depending on the cause or nature of the warning, you might need to contact either the end user or eBay to effect a long term solution to the problem to prevent it from reoccurring in the future.

Applicable values:

•   Error

(out) The request that triggered the error was not processed successfully. When a serious application-level error occurs, the error is returned instead of the business data.

•   Warning

(out) The request was processed successfully, but something occurred that may affect your application or the user. For example, eBay may have changed a value the user sent in. In this case, eBay returns a normal, successful response and also returns the warning.


errorMessage.error.subdomain string Conditionally Name of the subdomain upon which the error occurred. Subdomains include the following: UserProfile (in which the error is specific to the UserProfile service) and MarketplaceCommon (in which the error is common to all Marketplace services).
timestamp dateTime Always This value represents the date and time when eBay processed the request. This value is returned in GMT, the ISO 8601 date and time format (YYYY- MM- DDTHH:MM:SS.SSSZ). See the "dateTime" type for information about the time format, and for details on converting to and from the GMT time zone.
version string Always The release version that eBay used to process the request. Developer Technical Support may ask you for the version value if you work with them to troubleshoot issues.

Note: The version in use is normally the latest release version, as specified in the release notes.
Call-specific Output Fields
subscriptionPlan SubscriptionPlan Always,
repeatable: [1..*]
Information about a subscription plan.
subscriptionPlan.billable boolean Always Specifies whether the plan is free to subscribers, or must be paid for.
subscriptionPlan
  .externalPlanId
string Always A developer-assigned value identifying the plan. Also passed in the externalPlanID field of the addSubscriber call.
subscriptionPlan.globalId GlobalId (token) Always Corresponds to the site ID. For example, EBAY-US.
subscriptionPlan.planId long Always ID assigned to the subscription plan by eBay.
subscriptionPlan.planName string Always Defined in the billing plan, the planName accompanies the application name in statements sent to subscribers.
subscriptionPlan.planVersion SubscriptionPlanVersion Always,
repeatable: [1..*]
Information about the version that eBay assigned to a subscription plan.
subscriptionPlan.planVersion
  .planDescription
string Always Information about the plan that is displayed to potential subscribers in the subscription flow.
subscriptionPlan.planVersion
  .planState
SubscriptionPlanState Always State of the plan, e.g. Active.

Applicable values:

•   Active

(in/out) The plan is subscribable. The plan can remain hidden from the public in the active state, during final verification.

•   ChangeRequested

(in/out) For future use.

•   Pending

(in/out) Applies when eBay begins configuring the plan in the Managed Billing Platform. If the Developers Program finds an error in the information you provided or in the app, you are notified and the plan is placed in a "change requested" state for you to edit. Please note: When a plan is in a "non-active" state (stored, submitted for configuration, pending, or change requested), the plan is treated as private, meaning that only users specified in the Permission tag of the deployment descriptor can view the plan. Plans in this state cannot be changed.

•   Stored

(in/out) Plan has been created. With a plan in this state you can test how it displays in the subscription flow, and subscribe to the plan without incurring charges. You can also continue to make changes to the plan.

•   Submitted

(in/out) A plan in this state has been submitted for approval and is being tested by eBay. Plans in this state cannot be changed.


subscriptionPlan.planVersion
  .planVersion
int Always The version number of the plan. When the third-party developer submits updates to the plan, eBay increments the version of the plan.
subscriptionPlan.planVersion
  .planVersionDetail
SubscriptionPlanVersionDetail Always,
repeatable: [1..*]
Details about this version of the plan.
subscriptionPlan.planVersion
  .planVersionDetail
  .chargeAmount
double Conditionally The amount of money charged for the plan, as set by the third party developer, based on the charge type.
subscriptionPlan.planVersion
  .planVersionDetail.chargeTerm
int Conditionally Length of the term in charge term units (specifically, see the chargeTermUnit field). For example, if the term unit is month, the chargeTerm value is the number of months. Note that if the plan is a free trial, this field is the number of days.
subscriptionPlan.planVersion
  .planVersionDetail
  .chargeTermUnit
SubscriptionChargeTermUnit Conditionally The term unit. Multiply the chargeTerm value by the chargeTermUnit value to arrive at the length of the plan version, as set by the third party developer.

Applicable values:

•   Day

(out) Charge recurs daily. Only applies to a free trial.

•   Month

(out) Charge recurs monthly.

•   Quarter

(out) Charge recurs quarterly.

•   Week

(out) Charge recurs weekly.

•   Year

(out) Charge is annual.


subscriptionPlan.planVersion
  .planVersionDetail.chargeType
SubscriptionChargeType Always The type of charge the plan utilizes. Examples: recurring fee, usage fee, and non-recurring setup fee.

Applicable values:

•   Free

(out) A free plan that will not have usage or other charges.

•   FreeTrial

(out) The subscription is on a free trial.

•   NonPlanUsage

(in/out) Billable charge that is not included in the plan and is not subject to eBay service fee. For example, shipping charges.

•   NRC

(in/out) Non-recurring charge (one-time subscription fee).

•   NRCSetup

(out) Non-recurring setup charge.

•   Recurring

(in/out) Recurring charge for a plan when the plan charges are not to be pro-rated at the end of subscription. Not applicable for usage. For this kind of charge originating from the addUsage call, a manual credit is needed for a desired adjustment.

•   RecurringProRateEnd

(out) Recurring charge for a plan when the plan charges are to be pro-rated at the end of subscription. Not applicable for usage.

•   Usage

(in/out) A charge for which the subscriber will pay usage charges.


subscriptionPlan.planVersion
  .planVersionDetail
  .extendedDescription
string Conditionally Additional plan information that is displayed on the page where a user views plans, under "Usage Fee." The value in the extendedDescription field is only applicable when information was added with the addUsage call.
subscriptionPlan.planVersion
  .planVersionDetail
  .planVersionDetailId
long Always ID for the charge type (there is a charge type of each version of the plan).
subscriptionPlan.planVersion
  .planVersionDetail.usageBilled
boolean Conditionally Applied with addUsage, for the charge type.
subscriptionPlan.planVersion
  .planVersionEndTime
dateTime Conditionally End time of the plan version.
subscriptionPlan.planVersion
  .planVersionId
long Always The ID of the entire version of the plan, at the plan level.
subscriptionPlan.planVersion
  .planVersionStartTime
dateTime Always Start time of the plan version.
subscriptionPlan.visible boolean Always If true, the plan is visible to all users, on the condition that the start date is in the past (because users never see a plan with a start date that is in the future). If false, visible only to you and eBay administrators.



Back to top

getSubscriptionPlans Samples

New to making API calls? Please see Making an API Call.

Note: Some item IDs, user IDs, or other data in these samples might no longer be active on eBay. If necessary, you can substitute current eBay data in your requests.

Sample: Basic Call

Requests the data for an application's subscription plans.

Description

The getSubscriptionPlans request in this particular sample does not specify a planState filter, so all of the subscription plans (of the application ID specified in the HTTPS header) are returned.

Input

XML format (HTTP POST). Also available is the .txt version of this XML.

<?xml version="1.0" encoding="UTF-8"?>
<getSubscriptionPlansRequest xmlns="http://www.ebay.com/marketplace/openebay/v1/services">
</getSubscriptionPlansRequest>

Output

XML format. Also available is the .txt version of this XML.

<?xml version="1.0" encoding="UTF-8"?>
<getSubscriptionPlansResponse xmlns:ms="http://www.ebay.com/marketplace/services" xmlns="http://www.ebay.com/marketplace/openebay/v1/services">
  <ack>Success</ack>
  <version>1.0.0</version>
  <timestamp>2010-02-28T21:12:01.336Z</timestamp>
  <subscriptionPlan>
    <planId>1491</planId>
    <externalPlanId>73</externalPlanId>
    <planName>My Monthly Recurring Plan</planName>
    <globalId>EBAY-US</globalId>
    <billable>true</billable>
    <visible>true</visible>
    <planVersion>
       <planVersionId>114</planVersionId>
       <planVersion>1</planVersion>
       <planDescription>Monthly Recurring Plan with a 15 day free trial and no pro-ration</planDescription>
       <planState>Active</planState>
       <planVersionStartTime>2009-05-14T07:00:00.000Z</planVersionStartTime>
       <planVersionDetail>
          <planVersionDetailId>132</planVersionDetailId>
          <chargeType>FreeTrial</chargeType>
          <chargeTerm>15</chargeTerm>
          <chargeTermUnit>Day</chargeTermUnit>
       </planVersionDetail>
       <planVersionDetail>
          <planVersionDetailId>133</planVersionDetailId>
          <chargeType>Recurring</chargeType>
          <chargeTerm>1</chargeTerm>
          <chargeTermUnit>Month</chargeTermUnit>
          <chargeAmount>3.0</chargeAmount>
       </planVersionDetail>
       <planVersionDetail>
          <planVersionDetailId>5000024203</planVersionDetailId>
          <chargeType>Usage</chargeType>
          <usageBilled>true</usageBilled>
       </planVersionDetail>
    </planVersion>
  </subscriptionPlan>
  <subscriptionPlan>
    <planId>1492</planId>
    <externalPlanId>74</externalPlanId>
    <planName>My Yearly Recurring Plan</planName>
    <globalId>EBAY-US</globalId>
    <billable>true</billable>
    <visible>true</visible>
    <planVersion>
       <planVersionId>115</planVersionId>
       <planVersion>1</planVersion>
       <planDescription>Yearly Recurring Plan with a 30 day free trial and no pro-ration</planDescription>
       <planState>Active</planState>
       <planVersionStartTime>2009-05-14T23:22:50.000Z</planVersionStartTime>
       <planVersionDetail>
          <planVersionDetailId>134</planVersionDetailId>
          <chargeType>FreeTrial</chargeType>
          <chargeTerm>30</chargeTerm>
          <chargeTermUnit>Day</chargeTermUnit>
       </planVersionDetail>
       <planVersionDetail>
          <planVersionDetailId>135</planVersionDetailId>
          <chargeType>Recurring</chargeType>
          <chargeTerm>1</chargeTerm>
          <chargeTermUnit>Year</chargeTermUnit>
          <chargeAmount>4.0</chargeAmount>
       </planVersionDetail>
    </planVersion>
  </subscriptionPlan>
</getSubscriptionPlansResponse> 



Back to top

getSubscriptionPlans Change History
Version Description
1.0.0
2010-03-01
  • (added) New call.



Back to top

User-Contributed Notes
   
 
 
 

© 2010 eBay, Inc. All rights reserved. This documentation and the API may only be used in accordance with the eBay Developers Program and API License Agreement.