Returns a list of subscription plans, including details, for the application making the request. Filterable by plan state.
| Output Samples Change History User Notes |
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. |
| Input Samples Change History User Notes |
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.
|
| 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. |
| Input Output Change History User Notes |
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.
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>
| Input Output Samples User Notes |
| Version | Description |
|---|---|
| 1.0.0 2010-03-01 |
|
| Input Output Samples Change History User 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.