Difference between revisions of "CreatePurchase"

From Gvp-public
Jump to navigation Jump to search
Line 68: Line 68:
  
 
|Exceptions=
 
|Exceptions=
* [[AuthenticationRequired]] --> If user Anonymous
+
* 30 - [[AuthenticationRequired]] --> If user Anonymous
* [[UserPurchasePinValueNoMatch]] --> if user pin doesn't match or sent empty
+
* 62 - [[UserPurchasePinValueNoMatch]] --> if user pin doesn't match or sent empty
* [[InvalidPaymentType]] --> if paymentType = Unknown or PaymentType not in product payment types
+
* 100 - [[InvalidPaymentType]] --> if paymentType = Unknown or 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
+
* 113 - [[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
+
* 130 - [[InvalidReturnOrCancelURL]] --> if paymentType = Paypal, webpay or worldpay and returnUrl or cancelURl empty or null
* [[InsufficientBalance]] --> if (paymentType = eWallet) && (User.eWallet < Price)
+
* 87 - [[InsufficientBalance]] --> if (paymentType = eWallet) && (User.eWallet < Price)
* [[ProductDoesNotExist]] --> if (product = null or product.ID <= 0)
+
* 109 - [[ProductDoesNotExist]] --> if (product = null or product.ID <= 0)
* [[UserAlreadyHasProduct]] --> if product has been already bought
+
* 23 - [[UserAlreadyHasProduct]] --> if product has been already bought
* [[InvalidPricingModelForThisProduct]] --> if pricingModel is not in the list of Available pricing models for this product
+
* 82 - [[InvalidPricingModelForThisProduct]] --> if pricingModel is not in the list of Available pricing models for this product
* [[PendingProductCanNotBePurchased]] --> if product.CanWatch == -2 (Pending purchase)
+
* 150 - [[PendingProductCanNotBePurchased]] --> if product.CanWatch == -2 (Pending purchase)
* [[ProductNotAvailableYet]] --> if (dateStart > DateTime.Now) Commercialization window has not begun
+
* 122 - [[ProductNotAvailableYet]] --> if (dateStart > DateTime.Now) Commercialization window has not begun
* [[ProductExpired]] --> if (dateEnd < DateTime.Now) Commercialization window has finished
+
* 123 - [[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)
+
* 96 - [[UserCantAcquire]] --> if canAquire = false (in this poing status != available in stock or no DeviceAvailability for current deviceType)
* [[SubscriptionNotAvailableForPurchaseType]] --> if (ProductType == Subscription and PurchaseType.ProvisioningOnly)
+
* 153 - [[SubscriptionNotAvailableForPurchaseType]] --> if (ProductType == Subscription and PurchaseType.ProvisioningOnly)
* [[WebpayIsntAvailableForRecurringPayment]] --> if paymentType = WebPay && PricingModel.IsRecurring
+
* 146 - [[WebpayIsntAvailableForRecurringPayment]] --> if paymentType = WebPay && PricingModel.IsRecurring
* [[NoCreditsRegistered]] --> if productType == credit and productId doesn't exist
+
* 47 - [[NoCreditsRegistered]] --> if productType == credit and productId doesn't exist
* [[InvalidProductForInstance]] --> if productType == credit and credit belongs to other instance
+
* 55 - [[InvalidProductForInstance]] --> if productType == credit and credit belongs to other instance
* [[InvalidPricingModel]] --> if (pricingModel == null OR pricingModel.ID == 0) && (productType != ProductType.Credit)
+
* 86 - [[InvalidPricingModel]] --> if (pricingModel == null OR pricingModel.ID == 0) && (productType != ProductType.Credit)
* [[InvalidPricingModelForThisProduct]] --> if pricingModel.instance != current instance
+
* 82 -[[InvalidPricingModelForThisProduct]] --> if pricingModel.instance != current instance
* [[GenericError]] --> CreateInternalPurchase or createExternalPurchase SQL exception
+
* 128 - [[GenericError]] --> CreateInternalPurchase or createExternalPurchase SQL exception
* [[PurchaseProcessFailed]] --> if PaymentType == Billing && OB synchronous mode && sync error
+
* 85 - [[PurchaseProcessFailed]] --> if PaymentType == Billing && OB synchronous mode && sync error
* [[InvalidTransactionId]] --> if PaymentType == eWallet and error with transactionID
+
* 48 - [[InvalidTransactionId]] --> if PaymentType == eWallet and error with transactionID
* [[PurchaseNotFound]] --> if PaymentType == eWallet and error with purchase
+
* 164 - [[PurchaseNotFound]] --> if PaymentType == eWallet and error with purchase
* [[InvalidInstance]] --> if instance != purchaseInstance (Can`t happen)
+
* 39 - [[InvalidInstance]] --> if instance != purchaseInstance (Can`t happen)
* [[InvalidDeviceType]] -->  if purchaseDeviceType != currentDeviceType (Can`t happen)
+
* 15 - [[InvalidDeviceType]] -->  if purchaseDeviceType != currentDeviceType (Can`t happen)
* [[InvalidUser]] --> if purchaseUser != currentUser (Can`t happen)
+
* 36 - [[InvalidUser]] --> if purchaseUser != currentUser (Can`t happen)
* [[UserRightInsertUpdateError]] --> Error insert userRights in BBDD
+
* 108 -[[UserRightInsertUpdateError]] --> Error insert userRights in BBDD
  
 
|Cache=
 
|Cache=

Revision as of 12:30, 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
  • 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


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


See also