Steps to set up monetization

You're viewing Apigee Edge documentation.
Go to the Apigee X documentation.

Before you begin

Before you begin using monetization with your Apigee organization, you need to perform the following prerequisite tasks:

  • Create an Apigee Edge account, as described in Create an Apigee Edge account.
  • Purchase monetization. Edge does not initially include the monetization API or integrate monetization into the management UI. You need to purchase the monetization feature to incorporate the monetization API and the monetization UI components into Edge for your Apigee organization.

After you purchase monetization, you need to perform the following tasks:

Initial setup with Apigee

Work with the Apigee Edge configuration team to complete the initial setup of monetization. Based on your input the configuration team will set up the following:

  • Whether your organization is a telecommunications company.
  • Which billing type you wish to support for developers who purchase your rate plans: prepaid, postpaid, or both. See Prepaid versus postpaid accounts.
  • Whether you want detailed or summary data extracted from monetization into your accounting system and the data format required.
  • Custom email reply address. For monetization email notifications that are sent to companies and developers, a default address is configured. You must request a custom reply name and address for your organization.

The Apigee configuration team runs a script to synchronize monetization with your organization and any developers, applications, and API products that you created using Apigee Edge. Apigee support may request that you synchronize your organization in the future, as described in Synchronize Apigee Edge data with monetization for details. Do not synchronize monetization data unless instructed by Apigee.

Configure monetization

The following table summarizes the steps required to configure monetization for your Apigee organization.
Step Description
Edit your organization profile As part of the initial setup of monetization, the Apigee Edge configuration team sets up your organization profile.

You need to edit the organization profile to add or update information about your organization, as appropriate. For example, you may need to update the billing type, currency settings, or tax model.

Manage supported currencies As part of the initial setup of monetization, the Apigee Edge configuration team specifies the currencies supported by your organization, and sets the default currency.

You can retrieve the currencies that your organization supports and add or delete supported currencies (to reflect the currencies used by a developer or a rate plan).

Note: Monetization automatically runs a daily job that obtains the exchange rate in U.S. dollars for each supported currency. By default, the job runs every day at 1 second past midnight. For details, see Schedule monetization jobs.

Specify terms and conditions Optionally, you can add terms and conditions to your organization profile before you publish rate plans. After you publish a rate plan, the current version of the terms and conditions is displayed in the developer portal.

Note: Terms and conditions reside outside of your organization profile. In your organization profile, you specify the location (public URL) of the terms and conditions. You can add multiple versions of the terms and conditions to reflect changes over time.

Enforce monetization limits Attach the MonetizationLimitsCheck policy to API proxies to enforce monetization limits.

Specifically, the policy is triggered under the following conditions:

  • Developer accessing monetized API is not registered or has not subscribed to the rate plan.
  • Developer has exceeded the transaction volume for the subscribed rate plan.
  • Developer prepaid account balance or postpaid credit limit has been reached.
Set up notifications Configure notifications to notify developers or API providers of a specific event, such as a newly published rate plan.

Monetize your APIs

When you monetize APIs, you bundle one or more API products into an API product bundle and define the associated rate plan.

An API product bundle does not become visible to developers until you publish a rate plan for the package (with a start date of the current date or a future date). Developers can register their apps to use an API product bundle only by purchasing one of the rate plans currently in effect. If an API product bundle doesn't have a published rate plan that is currently in effect, the package isn't monetized.

The following table summarizes the steps required to monetize your APIs.

Step Description
Manage API product bundles

Create API product bundles to group your API products.

Note: In the Classic Edge UI and the monetization API, product bundles are referred to as API packages.

To use the API to manage API product bundles, see:

Configure the transaction recording policy

Configure the transaction recording policy for each of your API products. The transaction recording policy defines what you would like to capture in the transaction records for an API product, including any custom attributes.

To use the API to configure the transaction recording policy, see:

Manage and publish rate plans

Create a rate plan to define the monetization approach for your APIs. For example, whether you charge a flat or variable rate for the use of your API.

To manage rate plans using the API, see:

Purchase a published rate plan Purchase a published rate plan, and expire or cancel a purchased rate plan, if desired, using the API.
Configure monetization in the developer portal Configure monetization in your developer portal to provide developers self-service access to rate plan subscription, automatic payment processing and billing, reports, product catalogs, and other monetization-specific settings.

Manage monetization

After you configure monetization and monetize your API, you can perform the one or more of the steps summarized in the following table:

Step Description
Manage companies and developers Managed the companies and developers that use your APIs. A developer is a single entity, uniquely identified by the email address. A company is a collection of developers managed as a single entity.
Create reports Create prepaid balance, revenue, and variance reports. For prepaid developers, you can reconcile prepaid balance reports with bank deposits.
Make billing adjustments Make billing adjustments to correct discrepancies in your records, for example.
Issue credits Issue developer credits, if required. For a prepaid developer, a credit appears as a reduction in usage that increases the developer's prepaid balance going forward. For a postpaid developer, a credit appears as a separate line in an invoice, reducing the charge in an invoice.
Manage prepaid account balances View the current prepaid account balance, and reload prepaid accounts or by setting up automatic reload using a third-party payment provider.
Manage postpaid balances using credit limits When you add a supported currency for an organization, you can set a credit limit for a postpaid developer. The credit limit applies to all postpaid developers in the organization. In addition, you can set the credit limit for an individual postpaid developer. In this case, the credit limit overrides any limit set for the currency for the specified developer only.
Post refunds Post refunds to developers for purchase transactions.
Schedule monetization jobs Monetization provides a job scheduler and a set of jobs that are pre-scheduled to run at designated times. Manage the monetization job schedule using the API.
View the status of transactions View the status of transactions that occurred during a specified time range using the API.
Synchronize Apigee Edge data with monetization If instructed to do so by Apigee, re-synchronize data with monetization to ensure that the data is in sync. You can synchronize the following: organization, API products, developers, and applications.
Delete monetization data from your organization You may wish to delete monetization data from your organization to clear a test organization or delete an organization.