---
page_source: https://juspay.io/sea/docs/digital-wallets-sea/docs/how-to-integrate-native/process-call-apinative
page_title: Process Call API(Native)
---


# Transaction Initiation



Once the order is created and eligibility is determined, initiate the transaction when the user clicks the **Proceed to Pay**  button.


#### Steps to Initiate the Transaction



1. **Invoke the** `walletTxn`**Process Call** On clicking **Proceed to Pay** , trigger the `walletTxn` process using the Juspay SDK. This begins the Apple Pay transaction flow.
2. **Apple Pay Sheet Presentation** Juspay will automatically display the Apple Pay sheet to the user. The user can authenticate using Face ID, Touch ID, or passcode based on their device settings.
3. **User Completes Payment** Once the user authorizes the payment, Juspay securely processes the transaction using the Apple Pay token in the background.
4. **Handle the Process Result** The SDK will return a response containing the transaction result.


## Request Parameters




### Payload
- **RequestId**:
  - Description: Unique identifier for the request.
  - Tags: String, Mandatory
- **Service**:
  - Description: Always set to in.juspay.hyperapi
  - Tags: String, Mandatory
- **Payload**:
  - Description: Contains the main request payload.
  - Tags: Object, Mandatory



## payload Parameters




### Payload
- **Action**:
  - Description: Type of action to be performed. Use walletTxn for wallet-based transactions.
  - Tags: String, Mandatory
- **Country**:
  - Description: Country code
  - Value: AE
  - Tags: String, Mandatory
- **SdkPresent**:
  - Description: Specifies the SDK environment
  - Value: IOS_APPLEPAY
  - Tags: String, Mandatory
- **PaymentMethod**:
  - Description: Payment method to be used (e.g., JP_APPLEPAY).
  - Tags: String, Mandatory
- **OrderId**:
  - Description: Unique identifier for the order.
  - Tags: String, Mandatory
- **Currency**:
  - Description: Transaction currency
  - Value: AED
  - Tags: String, Mandatory
- **Amount**:
  - Description: Transaction amount.
  - Tags: String, Mandatory
- **ClientAuthToken**:
  - Description: Authentication token generated by the merchant backend.
  - Tags: String, Mandatory
- **ShowLoader**:
  - Description: Displays a loading indicator during the transaction flow.
  - Tags: Boolean, Mandatory
- **ShouldCreateMandate**:
  - Description: Set to true for mandate (recurring) transactions.
  - Tags: Boolean, Mandatory


## Sample Code Snippets:
### Sample Request:

#### Sample Request Code Snippet:

```sample request
{
  "requestId": "5C89D0A9-2752-47E5-B6AB-D11CB0ACDA9F",
  "service": "in.juspay.hyperapi",
  "payload": {
    "action": "walletTxn",
    "country": "AE",
    "sdkPresent": "IOS_APPLEPAY",
    "paymentMethod": "JP_APPLEPAY",
    "orderId": "hyperorder4665226",
    "currency": "AED",
    "amount": "1.00",
    "clientAuthToken": "tkn_bd943af200a64abdb70008064b9259c4",
    "showLoader": true,
    "gatewayId": 15,  // send if this is coming in Eligiblity call
    "gatewayReferenceId": "xyz" // send if this is coming in Eligiblity call
    "shouldCreateMandate": true // Always true for mandate txns
  }
}

```

### Sample Response:

#### Response:
```plaintext
{
    "service": "in.juspay.hyperapi",
    "requestId": "eee6f65e-23dc-42e1-ad7c-ec3cddd64ac9",
    "payload": {
        "action": "walletTxn",
        "status": "CHARGED",
        "orderId": "hyperorder4665226"
    },
    "errorMessage": "",
    "errorCode": "",
    "error": false
}
```

