---
page_source: https://juspay.io/sea/docs/digital-wallets-sea/docs/how-to-integrate-web/step-6-process-call-apinative
page_title: Step 6: 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:
### Initiate Transaction:

#### Sample Request Code Snippet:

```sample request
{
  "requestId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "service": "in.juspay.ec",
  "payload": {
    "gatewayReferenceId": "mpan_eligible",
    "sdkPresent": "WEB_JP_APPLEPAY",
    "paymentMethod": "JP_APPLEPAY",
    "orderId": "test_order_001",
    "gatewayId": 601,
    "action": "walletTxn",
    "shouldCreateMandate": true,
    "clientAuthToken": "{{CLIENT_AUTH_TOKEN}}"
  }
}

```

### Initiate Transaction:

#### Sample Response:
```plaintext
{
  "requestId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "service": "in.juspay.ec",
  "payload": {
    "txnUuid": "xxxxxxxxxxxxxxxxxxxx",
    "status": "CHARGED",
    "orderId": "test_order_001",
    "payment": {
      "authentication": {
        "method": "GET",
        "url": "https://sandbox.juspay.in/v2/pay/finish/{{YOUR_MERCHANT_ID}}/xxxxxxxxxxxxxxxxxxxx/test_order_001"
      }
    },
    "action": "walletTxn"
  },
  "errorMessage": "",
  "errorCode": "",
  "error": false
}

```

