# commerce ## provider_association_stripe_callback_retrieve - [GET /api/provider-association/stripe/callback/{launch_id}/](https://docs.ibl.ai/apis/ibl/commerce/provider_association_stripe_callback_retrieve.md): Handle callbacks from Stripe after successful checkout. Updates: - Platform launch state - Association configuration status ## providers_apple_associate_account_create - [POST /api/providers/apple/associate-account/](https://docs.ibl.ai/apis/ibl/commerce/providers_apple_associate_account_create.md): Associate an Apple account with a user known user ## providers_apple_hook_create - [POST /api/providers/apple/hook/](https://docs.ibl.ai/apis/ibl/commerce/providers_apple_hook_create.md): View to handle apple webhooks ## providers_apple_subscription_status_create - [POST /api/providers/apple/subscription-status/](https://docs.ibl.ai/apis/ibl/commerce/providers_apple_subscription_status_create.md): Returns information about a user subscription status ## providers_apple_validate_transaction_id_create - [POST /api/providers/apple/validate-transaction-id/](https://docs.ibl.ai/apis/ibl/commerce/providers_apple_validate_transaction_id_create.md): Checks if a provided transaction_id is valid ## providers_aws_create_organization_create - [POST /api/providers/aws/create-organization/](https://docs.ibl.ai/apis/ibl/commerce/providers_aws_create_organization_create.md): Serves a view that redirects to the AWS marketplace create organization page Set CREATE_ORGANIZATION_URL in GlobalConfigurationFetcher to the URL of the AWS marketplace create organization page ## providers_aws_domain_status_retrieve - [GET /api/providers/aws/domain-status/](https://docs.ibl.ai/apis/ibl/commerce/providers_aws_domain_status_retrieve.md): API endpoint to get domain setup status ## providers_aws_launch_tenant_create - [POST /api/providers/aws/launch-tenant/](https://docs.ibl.ai/apis/ibl/commerce/providers_aws_launch_tenant_create.md): Proxy to the Platform launch API We cannot expose launching a tenant to an authorized user hence the need for the API The API validates the x_amzn_marketplace_token and then proxies the request to the Platform Launch API ## providers_aws_sync_domain_records_retrieve - [GET /api/providers/aws/sync-domain-records/](https://docs.ibl.ai/apis/ibl/commerce/providers_aws_sync_domain_records_retrieve.md): API endpoint to get/update CNAME records for domain setup ## providers_aws_sync_domain_records_create - [POST /api/providers/aws/sync-domain-records/](https://docs.ibl.ai/apis/ibl/commerce/providers_aws_sync_domain_records_create.md): API endpoint to get/update CNAME records for domain setup ## providers_gcp_create_organization_create - [POST /api/providers/gcp/create-organization/](https://docs.ibl.ai/apis/ibl/commerce/providers_gcp_create_organization_create.md): Serves a view that redirects to the GCP marketplace create organization page Set CREATE_ORGANIZATION_URL in GlobalConfigurationFetcher to the URL of the GCP marketplace create organization page ## providers_gcp_create_organization_create_2 - [POST /api/providers/gcp/create-organization/{product_id}/](https://docs.ibl.ai/apis/ibl/commerce/providers_gcp_create_organization_create_2.md): Serves a view that redirects to the GCP marketplace create organization page Set CREATE_ORGANIZATION_URL in GlobalConfigurationFetcher to the URL of the GCP marketplace create organization page ## providers_gcp_hook_create - [POST /api/providers/gcp/hook/](https://docs.ibl.ai/apis/ibl/commerce/providers_gcp_hook_create.md) ## providers_gcp_launch_tenant_create - [POST /api/providers/gcp/launch-tenant/](https://docs.ibl.ai/apis/ibl/commerce/providers_gcp_launch_tenant_create.md): Proxy to the Platform launch API We cannot expose launching a tenant to an authorized user hence the need for the API The API validates the x_gcp_marketplace_token and then proxies the request to the Platform Launc API ## providers_gcp_validate_signup_token_create - [POST /api/providers/gcp/validate-signup-token/](https://docs.ibl.ai/apis/ibl/commerce/providers_gcp_validate_signup_token_create.md) ## providers_google_pay_get_account_retrieve - [GET /api/providers/google-pay/get-account/{bundle_id}](https://docs.ibl.ai/apis/ibl/commerce/providers_google_pay_get_account_retrieve.md): Google Allows us to pass an obfuscated account id to be sent to during a subscription purchase ## providers_google_pay_hook_create - [POST /api/providers/google-pay/hook/](https://docs.ibl.ai/apis/ibl/commerce/providers_google_pay_hook_create.md): View to handle Google Pay webhooks ## providers_google_pay_validate_transaction_id_create - [POST /api/providers/google-pay/validate-transaction-id/](https://docs.ibl.ai/apis/ibl/commerce/providers_google_pay_validate_transaction_id_create.md): Associate a Google Pay account with a known user ## providers_stripe_create_organization_create - [POST /api/providers/stripe/create-organization/](https://docs.ibl.ai/apis/ibl/commerce/providers_stripe_create_organization_create.md): Proxy to the Platform launch API We cannot expose launching a tenant to an unauthorized user hence the need for the API The API validates the stripe_checkout_id and then proxies the request to the Platform Launch API ## service_launch_tenant_create - [POST /api/service/launch/tenant/](https://docs.ibl.ai/apis/ibl/commerce/service_launch_tenant_create.md): User/tenant creation API To create using any payment provider, ensure you use the StudentToken Authentication Mechanism and also include the correct in the request body: To create a tenant without a payment provider, call the API without ny of the above provider keys in the request body ## service_manage_user_create - [POST /api/service/manage/user/](https://docs.ibl.ai/apis/ibl/commerce/service_manage_user_create.md): User creation flow ## service_manage_user_role_create - [POST /api/service/manage/user/role/](https://docs.ibl.ai/apis/ibl/commerce/service_manage_user_role_create.md): Make user tenant admin ## service_orgs_users_stripe_checkout_session_create - [POST /api/service/orgs/{org}/users/{user_id}/stripe/checkout-session/](https://docs.ibl.ai/apis/ibl/commerce/service_orgs_users_stripe_checkout_session_create.md): Stripe checkout session API View for user upgrade Request the following fields: - tenant - sku - mode - success_url - cancel_url Response: { "redirect_to": "https://checkout.stripe.com/xxx/xxxx/xxxx", } ## service_orgs_users_stripe_customer_portal_create - [POST /api/service/orgs/{org}/users/{user_id}/stripe/customer-portal/](https://docs.ibl.ai/apis/ibl/commerce/service_orgs_users_stripe_customer_portal_create.md): Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent ## service_orgs_users_stripe_products_retrieve - [GET /api/service/orgs/{org}/users/{user_id}/stripe/products/](https://docs.ibl.ai/apis/ibl/commerce/service_orgs_users_stripe_products_retrieve.md): Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent ## service_orgs_users_stripe_products_manage_create - [POST /api/service/orgs/{org}/users/{user_id}/stripe/products/manage/](https://docs.ibl.ai/apis/ibl/commerce/service_orgs_users_stripe_products_manage_create.md): Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin ## service_orgs_users_stripe_subscription_renewal_create - [POST /api/service/orgs/{org}/users/{user_id}/stripe/subscription-renewal/](https://docs.ibl.ai/apis/ibl/commerce/service_orgs_users_stripe_subscription_renewal_create.md): Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent ## service_orgs_users_stripe_subscriptions_retrieve - [GET /api/service/orgs/{org}/users/{user_id}/stripe/subscriptions/](https://docs.ibl.ai/apis/ibl/commerce/service_orgs_users_stripe_subscriptions_retrieve.md): Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent ## service_orgs_stripe_course_payment_callback_retrieve - [GET /api/service/orgs/{platform_key}/stripe/course-payment-callback/](https://docs.ibl.ai/apis/ibl/commerce/service_orgs_stripe_course_payment_callback_retrieve.md): Handle course payment callback after successful Stripe checkout. Enrolls the user in the purchased course. URL Parameters: - stripe_checkout_id: The local Checkout Session UUID Response: - Redirect: Successfully processed course enrollment - 404: Checkout session not found - 400: Invalid checkout session or product - 500: Server error during processing ## service_platforms_stripe_context_retrieve - [GET /api/service/platforms/{platform_key}/stripe/context/](https://docs.ibl.ai/apis/ibl/commerce/service_platforms_stripe_context_retrieve.md): Create a uuid to help us track internally user initiated checkout ## service_platforms_stripe_credit_topup_callback_retrieve - [GET /api/service/platforms/{platform_key}/stripe/credit-topup-callback/{checkout_session_id}/](https://docs.ibl.ai/apis/ibl/commerce/service_platforms_stripe_credit_topup_callback_retrieve.md): Handle callback after successful Stripe checkout for credit top up. Redirects user to another page, ensures user credit is updated accordingly. URL Parameters: - stripe_checkout_id: The Checkout Session UUID Response: - Redirect: Successfully validated and sending to next page - 404: Checkout session not found - 400: Invalid checkout session or product - 500: Server error during processing ## service_platforms_stripe_pricing_page_callback_retrieve - [GET /api/service/platforms/{platform_key}/stripe/pricing-page-callback/{checkout_session_id}/](https://docs.ibl.ai/apis/ibl/commerce/service_platforms_stripe_pricing_page_callback_retrieve.md): Handle callback after successful Stripe checkout. Redirects user to another page, ensures user subscription is updated accordingly. URL Parameters: - stripe_checkout_id: The local Checkout Session UUID Response: - Redirect: Successfully validated and sending to next page - 404: Checkout session not found - 400: Invalid checkout session or product - 500: Server error during processing ## service_platforms_stripe_pricing_page_session_retrieve - [GET /api/service/platforms/{platform_key}/stripe/pricing-page-session/](https://docs.ibl.ai/apis/ibl/commerce/service_platforms_stripe_pricing_page_session_retrieve.md): Create a uuid to help us track internally user initiated checkout ## service_stripe_checkout_retrieve - [GET /api/service/stripe/checkout/{checkout_uuid}/](https://docs.ibl.ai/apis/ibl/commerce/service_stripe_checkout_retrieve.md) ## service_stripe_checkout_free_trial_create - [POST /api/service/stripe/checkout/free-trial/](https://docs.ibl.ai/apis/ibl/commerce/service_stripe_checkout_free_trial_create.md): Stripe free trial checkout session. No user auth Request the following fields: - success_url - cancel_url - product Response: { "redirect_to": "https://checkout.stripe.com/xxx/xxxx/xxxx", } ## service_tenant_validation_create - [POST /api/service/tenant/validation/](https://docs.ibl.ai/apis/ibl/commerce/service_tenant_validation_create.md): Check if tenant exists or not ## service_token_retrieve - [GET /api/service/token/](https://docs.ibl.ai/apis/ibl/commerce/service_token_retrieve.md): GET Gets site hash_key from or Gets site_id form hash_key ## service_user_validation_create - [POST /api/service/user/validation/](https://docs.ibl.ai/apis/ibl/commerce/service_user_validation_create.md): Check if tenant exists or not