# In-App Purchase Make Purchase

Starts the purchase flow for the given product, normally opening a dialog from the system for the payment procedure.

Action available for the following operating systems:

![](/files/-MN57Y_zKMwAx_V80t5z)

### Parameters

* **Product SKU** - The product identifier for which to start the purchase flow.
* **Target Fail Reason** - In case the purchase fails, the **OnError** will be triggered, and this will contain a reason code for the fail. It can be:
  * 1 - Item already owned
  * 2 - User Canceled
  * 3 - Item Unavailable
  * 4 - User Cannot make payments
  * 0 - Other
* **Target Order ID** - The Order ID associated with the purchase. For Android only, iOS and Windows do not have an Order ID for the purchases.
* **Target Purchase ID** - The Purchase / Transaction ID associated with the purchase.
* **Target Purchase Status** - The status of the purchase:
  * 0 - Unspecified
  * 1 - Normal
  * 2 - Pending

{% hint style="info" %}
If the purchase cames back as pending, you can use the **In App Purchase Get Purchases** action to get new states for the purchase.\
Normally this happens if the payment is pending confirmation.
{% endhint %}

{% hint style="info" %}
After the purchase is finished with success and you have given the user access to the product, you are required to acknowledge the product purchase with a call to **In app Purchase Acknowledge Purchase.**
{% endhint %}

{% hint style="info" %}
You are advised to read Google/Apple/Microsoft Store documentation, specially on fraud prevention and how you can have your servers validate the purchases.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.sysdevmobile.com/kalipso5/developing/form/actions/actions-description/group-others/in-app-purchase-make-purchase.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
