Difference between revisions of "CreatePurchase"
Jump to navigation
Jump to search
Line 68: | Line 68: | ||
|Exceptions= | |Exceptions= | ||
− | * [[ | + | * [[AuthenticationRequired]] --> If user Anonymous |
+ | * [[UserPurchasePinValueNoMatch]] --> if user pin doesn't match or sent empty | ||
+ | * [[InvalidPaymentType]] --> if paymentType = Unknown || (PaymentType not in product payment types) | ||
+ | * [[UserDoesNotHaveMandatorySubscription]] --> If mandatory subscription is active, User has not purchase it, and user is trying to buy a product != MandatorySubscription | ||
+ | * [[InvalidReturnOrCancelURL]] --> if paymentType = Paypal, webpay or worldpay and returnUrl or cancelURl empty or null | ||
+ | * [[InsufficientBalance]] --> if (paymentType = eWallet) && (User.eWallet < Price) | ||
+ | * [[ProductDoesNotExist]] --> if (product = null or product.ID <= 0) | ||
+ | * [[UserAlreadyHasProduct]] --> if product has been already bought | ||
+ | * [[InvalidPricingModelForThisProduct]] --> if pricingModel is not in the list of Available pricing models for this product | ||
+ | * [[PendingProductCanNotBePurchased]] --> if product.CanWatch == -2 (Pending purchase) | ||
+ | * [[ProductNotAvailableYet]] --> if (dateStart > DateTime.Now) Commercialization window has not begun | ||
+ | * [[ProductExpired]] --> if (dateEnd < DateTime.Now) Commercialization window has finished | ||
+ | * [[UserCantAcquire]] --> if canAquire = false (in this poing status != available in stock or no DeviceAvailability for current deviceType) | ||
+ | * [[SubscriptionNotAvailableForPurchaseType]] --> if (ProductType == Subscription and PurchaseType.ProvisioningOnly) | ||
+ | * [[WebpayIsntAvailableForRecurringPayment]] --> if paymentType = WebPay && PricingModel.IsRecurring | ||
+ | * [[NoCreditsRegistered]] --> if productType == credit and productId doesn't exist | ||
+ | * [[InvalidProductForInstance]] --> if productType == credit and credit belongs to other instance | ||
+ | * [[InvalidPricingModel]] --> if (pricingModel == null || pricingModel.ID == 0) && (productType != ProductType.Credit) | ||
+ | * [[InvalidPricingModelForThisProduct]] --> if pricingModel.instance != current instance | ||
+ | * [[GenericError]] --> CreateInternalPurchase or createExternalPurchase SQL exception | ||
+ | * [[PurchaseProcessFailed]] --> if PaymentType == Billing && OB synchronous mode && sync error | ||
+ | * [[InvalidTransactionId]] --> if PaymentType == eWallet and error with transactionID | ||
+ | * [[PurchaseNotFound]] --> if PaymentType == eWallet and error with purchase | ||
+ | * [[InvalidInstance]] --> if instance != purchaseInstance (Can`t happen) | ||
+ | * [[InvalidDeviceType]] --> if purchaseDeviceType != currentDeviceType (Can`t happen) | ||
+ | * [[InvalidUser]] --> if purchaseUser != currentUser (Can`t happen) | ||
+ | * [[UserRightInsertUpdateError]] --> Error insert userRights in BBDD | ||
|Cache= | |Cache= |
Revision as of 12:21, 3 July 2015
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 (int, required)
- This use case deals with subscriptions.
- pricingModelId (int, required)
- Pricing Model 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.
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
- AuthenticationRequired --> If user Anonymous
- UserPurchasePinValueNoMatch --> if user pin doesn't match or sent empty
- InvalidPaymentType --> if paymentType = Unknown
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 |