Subscription Integration

The subscription system manages the complete lifecycle of user subscriptions, from initial registration through renewals, cancellations, and reactivations. Each subscription is identified by a unique subscription ID that persists across the account progression, enabling consistent tracking and management even when subscriptions are renewed through multiple orders.

Initial Subscription Registration

When a user purchases a subscription product, the following process occurs:

  1. User selects a subscription product in the checkout system

  2. Upon order completion, the webhook triggers a request to the Create New User APIarrow-up-right with subscription information

  3. Account is registered as a subscription account with the subscription ID as the subscription cluster identifier

  4. Each account progression is associated with one subscription ID, though multiple orders may exist due to subscription renewals

Renew Subscription Flow

Users can renew their subscriptions through the YPF SaaS Plugin, which redirects them to the checkout system to complete payment.

Upon successful payment, the subscription information is updated in the dashboard and the user is returned to their subscription details page.

  1. User requests subscription renewal via a button in the dashboard

  2. YPF SaaS Dashboard sends Subscription ID for renewal

  3. System redirects user to checkout page with product ID

  4. User purchases the renewal product

  5. System redirects user to PSP to make payment

  6. If payment successful (Yes):

    1. Plugin sends updated subscription info to dashboard via Renew Subscription API

    2. System redirects user to subscription details page

    3. Process ends

  7. If payment fails (No):

    1. Show "Payment Failed" message

    2. System redirects back to subscription details page

Renew Subscription API

Method: POST

Description: Renew an active subscription.

Authentication: Tenant API Key

Endpoint:

Request Body:

Key
Type

renewalDate

Datetime

subscriptionPaymentType

String (null means no update, ManualRenew, and AutoDebit)

Sample Request:

Sample Responses:

200 - Success

Cancel Subscription Flow

Users can request subscription cancellation through the YPF SaaS Plugin.

The dashboard communicates with the plugin to process the cancellation and updates the subscription status accordingly.

  • User requests cancellation via a button in the dashboard.

  • YPF SaaS Dashboard sends Subscription ID

  • YPF SaaS Plugin responds with cancellation status

  • If cancellation successful (Yes):

    • YPF SaaS Dashboard updates status to Pending Cancellation

    • Process ends

  • If cancellation fails (No):

    • Show "Cancellation Failed" message

    • System redirects back to end

Checkout API

This page documents the API endpoints that prop firms must provide and integrate on their checkout side in order to synchronize subscription events on the YourPropFirm Dashboard.

Cancel Subscription

Method: PUT

Description: Cancels an active subscription.

Authentication: Basic Auth

  • Username = Consumer Key

  • Password = Consumer Secret

Endpoint:

Example:

JSON Payload

Field
Type
Required
Description

subscription_id

string

ID of subscription to cancel

by

enum (admin | user)

Who initiated the cancel

note

string

Optional comment

Sample Request

Sample Responses

401 - Not authenticated

404 - Subscription not found

404 - Order is not a subscription

400 - Status not active

200 - Success

Reactivate Subscription

Method: PUT

Description: Reactivates a subscription

Authentication: Basic Auth

Endpoint:

Example:

JSON Payload

Field
Type
Required
Description

subscription_id

string

ID of subscription to cancel

by

enum (admin | user)

Who initiated the cancel

note

string

Optional comment

Sample Request

Sample Responses

401 - Not authenticated

404 - Subscription not found

404 - Order is not a subscription

400 - Status not active

200 - Success

Dashboard API

To synchronize subscription purchases from the client’s checkout system (e.g. WordPress + WooCommerce) into the YourPropFirm Dashboard, the checkout must call the Subscription API provided by the YourPropFirm platform.

These APIs are used to transmit user and order data at the moment of purchase or subscription change. They ensure that the dashboard can create trader accounts, assign programs, track billing, and enforce subscription-based rules.

Create New User API

This API is used when a new customer completes a checkout but does not yet exist in the YourPropFirm Dashboard. The checkout system must send the user profile details (name, email, country, etc.) to create a new trader identity in the dashboard before attaching any subscription or product.

Purpose:

  • Register a new trader inside the YourPropFirm Dashboard

  • Ensure that orders and subscriptions are linked to the correct user ID

Method: POST

Description: Creates a new trading account in the YourPropFirm Dashboard and automatically assigns it to the appropriate trading program based on the submitted order details.

Authentication: Basic Auth

  • X-Client-Key = Tenant Client Key

Endpoint:

Sample Request

Sample Responses

400 - Status not active

200 - Success

Product Order API

This API is used after the user is created (or already exists) to send product purchase information for subscription programs. The checkout system sends subscription or product order details (plan, price, server group, order ID, status, etc.) to the dashboard.

Purpose:

  • Register the purchased program or subscription in the dashboard

  • Trigger account provisioning, rules assignment, and tracking

  • Link the subscription lifecycle to the dashboard (renewals, status updates, cancellations)

Method: POST

Description: Creates a new trading account in the YourPropFirm Dashboard and automatically assigns it to the appropriate trading program based on the submitted order details.

Authentication: Basic Auth

  • X-Client-Key = Tenant Client Key

Endpoint:

JSON Payload

Field
Type
Required
Description

orderId

string

userId

string

amount

double

Amount of the completed order

currency

string

ISO 4217 currency codes, for.e.g., USD, IDR, etc

productDetails

string

ProductId, ProductName, Extras

paymentStatus

enum

Pending, Processing, OnHold, Completed, Cancelled, Refunded, Failed

accountId

string

subscriptionId

string

transactionId

string

timestamp

Datetime

extras

IDictonary<string, object>

Sample Request

Last updated