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


# 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.
  - Value:
    - **Action**:
      - Tags: String, Mandatory
    - **OrderId**:
      - Tags: String, Mandatory
    - **PaymentMethod**:
      - Tags: String, Mandatory
    - **SdkPresent**:
      - Tags: String, Mandatory
    - **ClientAuthToken**:
      - Tags: String, Mandatory
    - **GatewayId**:
      - Tags: String, Mandatory
    - **GatewayReferenceId**:
      - Tags: String, Mandatory
    - **SdkTxnAmount**:
      - Tags: String, Mandatory
    - **ShowLoader**:
      - Tags: String, Mandatory
  - Tags: String, Mandatory



## payload Object Parameters




### Payload
- **Action**:
  - Description: Type of action to be performed. Use walletTxn for wallet-based transactions.
  - Tags: String, Mandatory
- **OrderId**:
  - Description: Unique identifier for the order.
  - Tags: String, Mandatory
- **PaymentMethod**:
  - Description: Payment method to be used.
  - Value: APPLEPAY
  - Tags: String, Mandatory
- **SdkPresent**:
  - Description: Specifies the SDK environment
  - Value: IOS_APPLEPAY
  - Tags: String, Mandatory
- **ClientAuthToken**:
  - Description: Authentication token generated by the merchant backend.
  - Tags: String, Mandatory
- **GatewayId**:
  - Description: Include only if present in eligibility response
  - Tags: String, Mandatory
- **GatewayReferenceId**:
  - Description: Include only if present in eligibility response.
  - Tags: String, Mandatory
- **SdkTxnAmount**:
  - Description: Send this if the transaction amount differs from the amount sent in the sdkWalletEligibility call.
  - Tags: String, Optional
- **ShowLoader**:
  - Description: Displays a loading indicator during the transaction flow.
  - Tags: Boolean, Mandatory


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

#### Request Code Snippet:

```request
{
  "requestId": "eee6f65e-23dc-42e1-ad7c-ec3cddd64ac9",
  "service": "in.juspay.hyperapi",
  "payload": {
    "action": "walletTxn",
    "orderId": "hyperorder45314",
    "paymentMethod": "APPLEPAY",
    "sdkPresent": "IOS_APPLEPAY",         // Provided in the eligibility API response
    "clientAuthToken": "tkn_0e37edc631d647fdb606ab48ccfc4213",
    "gatewayId": "12",                    // Optional; include only if present in eligibility response
    "gatewayReferenceId": "ABCD",         // Optional; include only if present in eligibility response
    "sdkTxnAmount": 100,                  //Optional: Send this if the transaction amount differs from the amount sent in the sdkWalletEligibility call.
    "showLoader": true
  }
}

```

### 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
}
```

