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:
User selects a subscription product in the checkout system
Upon order completion, the webhook triggers a request to the Create New User API with subscription information
Account is registered as a subscription account with the subscription ID as the subscription cluster identifier
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.
User requests subscription renewal via a button in the dashboard
YPF SaaS Dashboard sends Subscription ID for renewal
System redirects user to checkout page with product ID
User purchases the renewal product
System redirects user to PSP to make payment
If payment successful (Yes):
Plugin sends updated subscription info to dashboard via Renew Subscription API
System redirects user to subscription details page
Process ends
If payment fails (No):
Show "Payment Failed" message
System redirects back to subscription details page
Renew Subscription API
Method: POST
Description: Renew an active subscription.
Authentication: Tenant API Key
Endpoint:
Request Body:
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 KeyPassword =
Consumer Secret
Endpoint:
Example:
JSON Payload
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
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
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