Difference between revisions of "CreatePurchase"

From Gvp-public
Jump to navigation Jump to search
(Created page with "{{Api_Method_Spec| Description=Create a purchase for product |Parameters= {{Api_Parameter| ParamName=token |ParamType=String |ParamRequired=required |ParamDescription=A valid t...")
 
 
(12 intermediate revisions by 4 users not shown)
Line 14: Line 14:
 
|ParamType=int
 
|ParamType=int
 
|ParamRequired=required
 
|ParamRequired=required
|ParamDescription=
+
|ParamDescription=Product Id of the subscription to be purchased
 
}}
 
}}
 
{{Api_Parameter|
 
{{Api_Parameter|
 
ParamName=productType
 
ParamName=productType
|ParamType=int
+
|ParamType=[[ProductType]]
 
|ParamRequired=required
 
|ParamRequired=required
|ParamDescription=
+
|ParamDescription=This use case deals with subscriptions.
 
}}
 
}}
 
{{Api_Parameter|
 
{{Api_Parameter|
Line 26: Line 26:
 
|ParamType=int
 
|ParamType=int
 
|ParamRequired=required
 
|ParamRequired=required
|ParamDescription=
+
|ParamDescription=[[PricingModel]] Id
 
}}
 
}}
 
{{Api_Parameter|
 
{{Api_Parameter|
 
ParamName=paymentType
 
ParamName=paymentType
|ParamType=PaymentType
+
|ParamType=[[PaymentType]]
 
|ParamRequired=required
 
|ParamRequired=required
 
|ParamDescription=
 
|ParamDescription=
Line 38: Line 38:
 
|ParamType=String
 
|ParamType=String
 
|ParamRequired=required
 
|ParamRequired=required
|ParamDescription=
+
|ParamDescription=User purchase PIN
 
}}
 
}}
 
{{Api_Parameter|
 
{{Api_Parameter|
Line 44: Line 44:
 
|ParamType=String
 
|ParamType=String
 
|ParamRequired=required
 
|ParamRequired=required
|ParamDescription=
+
|ParamDescription=This parameter makes sense only with paypal an ewallet payment methods.
 
}}
 
}}
 
{{Api_Parameter|
 
{{Api_Parameter|
Line 50: Line 50:
 
|ParamType=String
 
|ParamType=String
 
|ParamRequired=required
 
|ParamRequired=required
|ParamDescription=
+
|ParamDescription=This parameter makes sense only with paypal an ewallet payment methods.
 +
}}
 +
'''NEW IN 8.2!'''
 +
{{Api_Parameter|
 +
ParamName=TrackId
 +
|ParamType=String
 +
|ParamRequired=optional
 +
|ParamDescription=Recommendation Id
 +
}}
 +
{{Api_Parameter|
 +
ParamName=UxReference
 +
|ParamType=String
 +
|ParamRequired=optional
 +
|ParamDescription=Recommendation Reference
 
}}
 
}}
  
Line 62: Line 75:
 
:    <span style="color: #a11;">"Limit"</span>: <span style="color: #164;">100</span>,
 
:    <span style="color: #a11;">"Limit"</span>: <span style="color: #164;">100</span>,
 
:    <span style="color: #a11;">"Count"</span>: <span style="color: #164;">6</span>,
 
:    <span style="color: #a11;">"Count"</span>: <span style="color: #164;">6</span>,
:    <span style="color: #a11;">"Content"</span>:  
+
:    <span style="color: #a11;">"Content"</span>: [
::     [ <span style="color: #219;">[[PurchaseResponse]] object</span> ]
+
::       <span style="color: #219;">[[PurchaseResponse]] object</span>
 +
:    ]
 
}
 
}
  
 
|Exceptions=
 
|Exceptions=
* [[UserPurchasePinValueNoMatchException]]
+
* 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
  
 
|Cache=
 
|Cache=
Line 85: Line 125:
 
{{!}} Initial method design
 
{{!}} Initial method design
 
{{!}} Harley Cabral
 
{{!}} Harley Cabral
 +
{{!}}- valign="top"
 +
! 3.2
 +
{{!}} Enabled TVOD purchase of Series
 +
{{!}} Pedro Caamaño
 
{{!}}}
 
{{!}}}
  
 
|SeeAlso=
 
|SeeAlso=
 
}}
 
}}

Latest revision as of 13:08, 10 August 2020

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
This use case deals with subscriptions.
  • pricingModelId (int, required)
PricingModel 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.

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


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


See also