# handleAction

In order code scenarios, the MPP calls the server API **userInitiatedPay** to decode the code value and obtain the payment information. When the value of the _actionForm.actionType_ parameter in the **userInitiatedPay** response is `HANDLE_BY_SDK`, the MPP calls the **handleAction** API to further process the payment.

## Method signature

```objectivec
@interface MPPAlipayPlusClient (MPM)

- (void)handleAction:(MPPActionParams *)params;

@end
```

## Request parameters

| **Item** | **Type** | **Description** | **Required** |
| --- | --- | --- | --- |
| params | [MPPActionParams](ios_appendix#dAVDy) | The data that the SDK needs to further process the payment | M |

## Response parameters

N/A

## Sample

Sample for order code:

```objectivec
//Step 1: Send a userInitiatedPay request to decode the code
//Step 2: If the value of the actionForm.actionType parameter in the userInitiatedPay response is "HANDLE_BY_SDK"
if (actionType.equals("HANDLE_BY_SDK")) {
    MPPActionParams *params = MPPActionParams.new;
    params.sdkActionPayload = response.actionForm.sdkActionPayload;
    [[MPPAlipayPlusClient shared] handleAction:params];
} else {
    // Invoke the cashier
}
```