developer_guide:developer_guide:recommended
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
developer_guide:developer_guide:recommended [2010/03/03 03:11] – earlyimpact | developer_guide:developer_guide:recommended [2010/05/13 15:29] (current) – earlyimpact | ||
---|---|---|---|
Line 3: | Line 3: | ||
===== Overview ===== | ===== Overview ===== | ||
- | The following sections are for developers that want to create a shopping cart integration with SubscriptionBridge.com. As a developer you will have many decisions to make about how to integrate the [[developer_guide: | + | The following sections are for developers that want to create a shopping cart integration with SubscriptionBridge. |
* you will have to determine how to best allow the store manager to " | * you will have to determine how to best allow the store manager to " | ||
Line 10: | Line 10: | ||
* etc. | * etc. | ||
- | This article will attempt to answer those tough questions so you can focus on your code. | + | This article will attempt to answer those questions so you can focus on your code. |
+ | |||
+ | We recommend that you review the [[: | ||
===== Control Panel ===== | ===== Control Panel ===== | ||
- | The control panel area of your shopping cart should | + | For the shopping cart to successfully integrate with SubscriptionBridge, |
==== Activation ==== | ==== Activation ==== | ||
- | The very first thing that needs to happen is for the shopping cart to be activated to use the SubscriptionBridge API. If you have not reviewed the [[: | + | First, you will need a way for the merchant to authorize their store to communicate with SubscriptionBridge. In other words, |
So the shopping cart's administration area will first of all need to include a page where the merchant can enter their **SubscriptionBridge API Credentials**. The page should provide a link to the [[: | So the shopping cart's administration area will first of all need to include a page where the merchant can enter their **SubscriptionBridge API Credentials**. The page should provide a link to the [[: | ||
Line 23: | Line 26: | ||
When the form is submitted, it will invoke an API call to SubscriptionBridge. The documentation contains sample code for this call. Once you have successfully made the // | When the form is submitted, it will invoke an API call to SubscriptionBridge. The documentation contains sample code for this call. Once you have successfully made the // | ||
- | If the activation was not a success then check for a " | + | If the activation was not a success then check for a " |
+ | |||
+ | ---- | ||
Here is an example of the " | Here is an example of the " | ||
+ | |||
{{: | {{: | ||
- | ==== Linking Packages ==== | ||
- | Once the store has been activated, you will need to provide a way for the merchant to associate items that exist in the shopping cart's catalog with the corresponding //package// in the merchant' | + | ---- |
+ | |||
+ | ==== Linking Products and Packages ==== | ||
+ | |||
+ | Once the store has been activated, you will need to provide a way for the merchant to associate items that exist in the shopping cart's catalog with the corresponding //package// in the merchant' | ||
- **Modify Product ** \\ Just about every shopping cart has a page where you can modify a product. You can simply expand that page to include the following items: | - **Modify Product ** \\ Just about every shopping cart has a page where you can modify a product. You can simply expand that page to include the following items: | ||
Line 54: | Line 63: | ||
* They will also add a //Trial Price// is applicable. The price of the product itself is not needed as part of this interface because it is already part of the add/modify product page. | * They will also add a //Trial Price// is applicable. The price of the product itself is not needed as part of this interface because it is already part of the add/modify product page. | ||
- | Save all of the user selections | + | Technical recommendations: |
+ | |||
+ | * Save the relationship between products and packages in a separate database table | ||
+ | * Make sure that the relationship is unique: the same package should only be associated with one product in the store catalog | ||
+ | * Additional, package-level options can be useful and should be stored in the same table. They include: | ||
+ | * Trial price, as mentioned above | ||
+ | * Terms & Conditions: you may want to show the customer terms and conditions that the customer must agree to before signing up for the product/ | ||
+ | * All of the above needs to be saved in the store database so that it can be queried | ||
==== View / Modify Linked Packages ==== | ==== View / Modify Linked Packages ==== | ||
Provide a page where the user can find and edit their // | Provide a page where the user can find and edit their // | ||
- | |||
==== Settings ==== | ==== Settings ==== | ||
- | We recommend that you also provide a basic // | + | We recommend that you also provide a basic // |
- | + | ||
- | Here are just a few ideas. | + | |
- | * Text field to type in "Terms and Conditions", | + | * Text field to type in "Terms and Conditions", |
* Ability to turn all subscription products " | * Ability to turn all subscription products " | ||
- | * Ability to select | + | * Ability to control |
===== Storefront ===== | ===== Storefront ===== | ||
Line 76: | Line 89: | ||
=== Recommendation: | === Recommendation: | ||
- | The //Add to Cart// mechanism in your cart should be modified so that only 1 subscription product can exist in the cart at any time. If you choose to allow multiple items in the cart along with a subscription product you must solve some complex scenarios, such as: | + | The //Add to Cart// mechanism in your cart should be modified so that only 1 subscription product can exist in the cart at any time. If you choose to allow multiple items in the cart along with a subscription product you must solve some __complex scenarios__, such as: |
* separating the subscription' | * separating the subscription' | ||
Line 82: | Line 95: | ||
* calculating which portion of the total shipping charges (if the subscription contains shippable products) | * calculating which portion of the total shipping charges (if the subscription contains shippable products) | ||
- | These and other scenarios can be quite challenging to resolve through the shopping cart's storefront code. As such, we recommend that you do not allow multiple items in the cart when a subscription product is involved. | + | These and other scenarios can be quite challenging to resolve through the shopping cart's storefront code. As such, we recommend that you do not allow multiple items in the cart when a subscription product is involved. |
=== Preparing the data you will need === | === Preparing the data you will need === | ||
Line 93: | Line 106: | ||
* A flag indicating if there is a trial | * A flag indicating if there is a trial | ||
* The trial price, if applicable | * The trial price, if applicable | ||
- | |||
==== Product Details & Payment Terms Widget ==== | ==== Product Details & Payment Terms Widget ==== | ||
Line 106: | Line 118: | ||
Learn about the [[: | Learn about the [[: | ||
- | ==== View Cart ==== | + | ==== Where to display the Subscription Terms Widget |
- | Each view of the cart should be modified to accommodate a trial price. | + | We recommend |
- | In either scenario you must update | + | - One the **product details page** \\ This ensures that the customer can visually, immediately recognize the product as a subscription product, |
+ | - On the **shopping cart page** \\ This ensures that the customer knows that a subscription product has been added to the shopping cart. | ||
+ | - On the **payment page** \\ This ensures that the customer | ||
+ | Here is an example of the Terms Widget shown on the shopping cart page on a [[cartintegration: | ||
{{: | {{: | ||
Line 117: | Line 132: | ||
Prior to the customer completing the order you should display the "Terms and Conditions" | Prior to the customer completing the order you should display the "Terms and Conditions" | ||
- | Since different subscription products/ | + | As mentioned above, since different subscription products/ |
==== Saving the Order ==== | ==== Saving the Order ==== | ||
Line 145: | Line 159: | ||
* shipping: $12.50 | * shipping: $12.50 | ||
+ | The above assumes that the subscription is for a product that requires taxes and shipping charges calculated during checkout (e.g. monthly wine shipment; monthly vitamin shipment; etc.). If the customer is instead purchasing a service, things are much easier as you will typically have no shipping and taxes. For example, assume there is a service that costs $19.95 a month, with a free trial. In this scenario you would have: | ||
+ | |||
+ | * trial total: $0 | ||
+ | * total: $19.95 | ||
+ | * trial tax: 0 | ||
+ | * tax: 0 | ||
+ | * trial shipping: 0 | ||
+ | * shipping: 0 | ||
==== Payment Screen ==== | ==== Payment Screen ==== | ||
+ | |||
+ | Incompatible payment options should be disabled in the storefront when a subscription is being purchased. The customer must be taken automatically to the only payment option supported, which is the payment form that you have created to pass information to the SubscriptionBridge API via the [[: | ||
The payment screen is your final opportunity to be clear about the pricing terms for the subscription that the customer is signing up for. We recommend that you again display the [[: | The payment screen is your final opportunity to be clear about the pricing terms for the subscription that the customer is signing up for. We recommend that you again display the [[: | ||
- | Now, if the cart is adding tax and shipping then your total will obviously be different than the price displayed in the terms. | + | Now, if the cart is adding tax and shipping then your total will obviously be different than the price displayed in the terms. |
< | < | ||
Line 155: | Line 179: | ||
Plus shipping, tax, and handling fee</ | Plus shipping, tax, and handling fee</ | ||
- | If you require additional legal terms or specifications to be displayed we recommend that you add additional form fields to the control panel setting page. | + | If you require additional legal terms or specifications to be displayed we recommend that you add additional form fields to the // |
+ | ==== Subscription creation request and confirmation ==== | ||
- | ==== Post Payment and Confirmation ==== | + | After the payment form is submitted, you will need to contact SubscriptionBridge to create the new subscription profile that the customer just requested. This is done through |
- | + | ||
- | After the payment form is submitted, you will need to generate | + | |
The important thing to remember at this point is that you validate the [[: | The important thing to remember at this point is that you validate the [[: | ||
- | Once you get a " | + | Once you get a " |
+ | |||
+ | ===== After the purchase ===== | ||
+ | |||
+ | We recommend that you customize the additional areas of the shopping cart so that both the merchant and the customer can recognize that an order was placed for a subscription product and link to SubscriptionBridge (if needed). | ||
+ | ==== Administration area ==== | ||
+ | |||
+ | By checking the products that an order contains, you can easily determine whether it includes a subscription product. You can also do so by checking to see if there is a subscription GUID associated with the order (depending on how that information has been saved - see above). | ||
+ | |||
+ | If the order is for a subscription product or service, you should make this clear on the order details page, and link to the SubscriptionBridge Merchant Center so that the merchant may manage the subscription. The syntax for the link should be as follows, where < | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Customer account area ==== | ||
+ | |||
+ | Similarly to the administration area: | ||
+ | |||
+ | * Detect whether an order is for a subscription product or service | ||
+ | * Add information to the order details page indicating that this is the case | ||
+ | * Provide a link to the SubscriptionBridge Customer Center (unless you are not using the Customer Center, but rather performing all subscription management tasks via the API itself). For example, a customer might need to view recent subscription payments, update their billing information, | ||
+ | |||
+ | The syntax for the link to the SubscriptionBridge Customer Center should be as follows, where < | ||
+ | |||
+ | < | ||
+ | |||
+ | == Landing Pages < | ||
+ | |||
+ | * **Detail** \\ | ||
+ | * **Transaction History** \\ Replace < | ||
+ | * **Edit Billing** \\ Replace < | ||
+ | * **Edit Shipping** \\ Replace < | ||
+ | * **Cancel Subscription** \\ |
developer_guide/developer_guide/recommended.1267603895.txt.gz · Last modified: 2010/03/02 23:00 (external edit)