# Request Parameters

This reference documents the Intent action and parameter specifications required to communicate with the Get Smart application. All parameters must be passed as Intent extras using the `putExtra()` method. Parameter keys are case-sensitive and must match the specifications exactly.

## Intent Action

To initiate a transaction request, your application must create an Intent with the following action string.

| Intent Action |
| :---- |
| `es.android.redsys.mPOS.movil.tpvAndroid_PAYMENT_REQUEST` |

This single Intent action handles both transaction types. The specific operation is determined by the `type` parameter.

## Request Parameters

The following table lists all available request parameters. Use `intent.putExtra()` to include these fields in your request.

| Parameter | Type | Required | Description |
| :---- | :---- | :---- | :---- |
| `amount` | double | Yes | Transaction amount (e.g., 12.50). |
| `type` | int | Yes | Operation type identifier. See [Transaction Types](#transaction-types) for valid values. |
| `invoice` | String | No | Merchant reference identifier or order number for internal tracking. |
| `original_order` | String | Conditional | Required for refund operations. Must match the `ORDER` value returned by Get Smart in the original sale transaction. |
| `original_date` | String | No | Date of the original transaction. Used only for refund operations. When you omit it, the app searches the last 30 days. |

## Transaction Types

The `type` parameter determines which operation the Get Smart application will process. The following values are supported:

| Type Value | Operation | Description | Required Parameters |
| :---- | :---- | :---- | :---- |
| `1` | Sale | Processes a standard payment transaction. | `amount`, `type` |
| `2` | Refund | Reverses a previous sale transaction and returns funds to the customer. | `amount`, `type`, `original_order` |

### Sale Transactions

Sale transactions process customer payments and require the transaction amount. The Get Smart application manages the card interaction, PIN entry, and payment processing. Upon completion, the application returns transaction details including the authorization code and order ID.

### Refund Transactions

Refund operations reverse a previous sale and require reference to the original transaction. You must provide the `original_order` value that was returned in the original sale response. The `original_date` parameter is optional but recommended to help identify the transaction.

## Related Resources

For implementation guidance and code examples, see:

* [Response Parameters](https://docs.globalgetnet.com/en/products/local-processor-spain/get-smart-app2app?doc=getsmart-app2app-response-api-reference&section=qkm06zfrsmpvtjo093l3ddah) - Complete reference for transaction response data
* [Create a Sigle-Step Payment](/en/get-smart/get-smart-app2app/transaction-guides/transactions/create-a-single-step-payment) - Step-by-step guide for implementing sales
* [Refund a Payment](/en/get-smart/get-smart-app2app/transaction-guides/transactions/refund-a-payment) - Step-by-step guide for implementing refunds