CreatePurchase
		
		
		
		
		
		
		Jump to navigation
		Jump to search
		
		
		
		
		
		
		
	
Description
Create a purchase for product
Parameters
- token (String, required)
 
- A valid token for identifying the API session context and logged user.
 
- productId (int, required)
 
- Product Id of the subscription to be purchased
 
- productType (ProductType, required)
 
- This use case deals with subscriptions.
 
- pricingModelId (int, required)
 
- PricingModel Id
 
- paymentType (PaymentType, required)
 
- pin (String, required)
 
- User purchase PIN
 
- returnURL (String, required)
 
- This parameter makes sense only with paypal an ewallet payment methods.
 
- cancelURL (String, required)
 
- This parameter makes sense only with paypal an ewallet payment methods.
 
NEW IN 8.2!
- TrackId (String, optional)
 
- Recommendation Id
 
- UxReference (String, optional)
 
- Recommendation Reference
 
Returns
Returns a JSON with a PurchaseResponse object containing information that Purchase has been created with success.
Example:
{
- "Offset": 0,
 - "Limit": 100,
 - "Count": 6,
 - "Content": [
- PurchaseResponse object
 
 - ]
 
}
Exceptions
- 30 - AuthenticationRequired --> If user Anonymous
 - 62 - UserPurchasePinValueNoMatch --> if user pin doesn't match or sent empty
 - 100 - InvalidPaymentType --> if paymentType = Unknown or PaymentType not in product payment types
 - 113 - UserDoesNotHaveMandatorySubscription --> If mandatory subscription is active, User has not purchase it, and user is trying to buy a product != MandatorySubscription
 - 130 - InvalidReturnOrCancelURL --> if paymentType = Paypal, webpay or worldpay and returnUrl or cancelURl empty or null
 - 87 - InsufficientBalance --> if (paymentType = eWallet) && (User.eWallet < Price)
 - 109 - ProductDoesNotExist --> if (product = null or product.ID <= 0)
 - 23 - UserAlreadyHasProduct --> if product has been already bought
 - 82 - InvalidPricingModelForThisProduct --> if pricingModel is not in the list of Available pricing models for this product
 - 150 - PendingProductCanNotBePurchased --> if product.CanWatch == -2 (Pending purchase)
 - 122 - ProductNotAvailableYet --> if (dateStart > DateTime.Now) Commercialization window has not begun
 - 123 - ProductExpired --> if (dateEnd < DateTime.Now) Commercialization window has finished
 - 96 - UserCantAcquire --> if canAquire = false (in this poing status != available in stock or no DeviceAvailability for current deviceType)
 - 153 - SubscriptionNotAvailableForPurchaseType --> if (ProductType == Subscription and PurchaseType.ProvisioningOnly)
 - 146 - WebpayIsntAvailableForRecurringPayment --> if paymentType = WebPay && PricingModel.IsRecurring
 - 47 - NoCreditsRegistered --> if productType == credit and productId doesn't exist
 - 55 - InvalidProductForInstance --> if productType == credit and credit belongs to other instance
 - 86 - InvalidPricingModel --> if (pricingModel == null OR pricingModel.ID == 0) && (productType != ProductType.Credit)
 - 82 -InvalidPricingModelForThisProduct --> if pricingModel.instance != current instance
 - 128 - GenericError --> CreateInternalPurchase or createExternalPurchase SQL exception
 - 85 - PurchaseProcessFailed --> if PaymentType == Billing && OB synchronous mode && sync error
 - 48 - InvalidTransactionId --> if PaymentType == eWallet and error with transactionID
 - 164 - PurchaseNotFound --> if PaymentType == eWallet and error with purchase
 - 39 - InvalidInstance --> if instance != purchaseInstance (Can`t happen)
 - 15 - InvalidDeviceType --> if purchaseDeviceType != currentDeviceType (Can`t happen)
 - 36 - InvalidUser --> if purchaseUser != currentUser (Can`t happen)
 - 108 -UserRightInsertUpdateError --> Error insert userRights in BBDD
 
Caching
This method is not cached.
Known issues
None
Version history
| API Version Number | Change description | Changes author | 
|---|---|---|
| 1.0 | Initial method design | Harley Cabral | 
| 3.2 | Enabled TVOD purchase of Series | Pedro Caamaño |