---
sourceType: official-guide
sourceTypeMatchedRule: fallback
slug: MA/checkoutSdk/apis/checkTransaction
title: checkTransaction
---
Sau khi giao diện thanh toán đóng, sẽ nhận được thông tin id giao dịch thông qua query param từ path trả về. Từ đó gọi API checkTransaction để lấy đầy đủ thông tin giao dịch.

### API CheckTransaction

#### Parameters

##### Object _object_

| Property | Type                     | Required | Description                              |
| -------- | ------------------------ | -------- | ---------------------------------------- |
| data     | Object \| string \| null |          | Dữ liệu nhận về từ query param           |
| success  | function                 |          | Callback function khi gọi api thành công |
| fail     | function                 |          | Callback function khi gọi api thất bại   |

#### Return Values

##### Promise \

| Property   | Type   | Description                                              |
| ---------- | ------ | -------------------------------------------------------- |
| orderId    | string | Id của yêu cầu thanh toán đã tạo ở API createOrder       |
| transId    | string | Id của yêu cầu thanh toán từ hệ thống đối tác thanh toán |
| resultCode | number | Trạng thái giao dịch                                     |
| msg        | string | Mô tả thông tin resultCode                               |
| transTime  | string | Thời gian thực hiện giao dịch thành công / thất bại      |
| createdAt  | string | Thời gian tạo thanh toán                                 |

##### Error code

Tham khảo tại [đây](/docs/MA/checkoutSdk/errorcodes).

#### Trạng thái giao dịch

Giá trị của `resultCode` ứng với các trạng thái sau đây:

- `1` - Thanh toán thành công
- `0` - Giao dịch đang được thực hiện hoặc chờ xử lý
- `-1` - Thanh toán thất bại
- `-2` - Người dùng không chọn phương thức thanh toán và thoát Checkout SDK
* Nếu trạng thái đang thực hiện, vui lòng gọi lại API CheckTransaction.


### Sample Code

```jsx
import { CheckoutSDK } from "zmp-sdk/apis";

CheckoutSDK.checkTransaction({
  data: params,
  success: (data) => {
    // Kiểm tra thông tin giao dịch
    const { id, resultCode, err, msg, transTime, createdAt } = data;
    switch (resultCode) {
      case 1:
        // Thanh toán thành công
        break;
      case 0:
        // Giao dịch đang được thực hiện hoặc chờ xử lý
        break;
      case -1:
        // Thanh toán thất bại
        break;
      case -2:
        // Người dùng không chọn phương thức thanh toán và thoát Checkout SDK
        break;
      default:
        // Giao dịch không hợp lệ, kiểm tra `err` & `msg` để biết thêm thông tin
        break;
    }
  },
  fail: (err) => {
    // Có lỗi xảy ra khi gọi API
    console.log(err);
  },
});
```
