# Beneficiary Required Fields Query

> Query the field requirements for a specific country, currency, entity type, and transfer method.

```yaml
openapi: 3.1.0
info:
  title: Beneficiary Required Fields Query
  version: 1.0.0
  description: Query the field requirements for a specific country, currency,
    entity type, and transfer method.
paths:
  /api/v1/acct/queryPaymentFeild:
    post:
      summary: Beneficiary Required Fields Query
      description: Query the field requirements for a specific country, currency,
        entity type, and transfer method.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                merchantNo:
                  type: string
                  description: Merchant number assigned by Onerway. Retrieve it from the merchant
                    portal or onboarding material after your sandbox or
                    production account is created.
                payoutCurrency:
                  type: string
                  description: Payout currency to validate.
                bankCountry:
                  type: string
                  description: Destination country of the beneficiary account.
                entityType:
                  type: string
                  description: Beneficiary entity type. `0` for business and `1` for individual.
                paymentMethod:
                  type: string
                  description: Payout method to validate.
                walletType:
                  type: string
                  description: Wallet subtype used in wallet-based payout methods.
                  x-onerway-required: conditional
                  x-onerway-condition:
                    - Required when the payout method is a wallet-based method.
                sign:
                  type: string
                  description: Request signature string. Generate it according to the Transfer
                    request-signing rules with your merchant private key.
              required:
                - merchantNo
                - payoutCurrency
                - bankCountry
                - entityType
                - paymentMethod
                - sign
            examples:
              query-required-fields-bank-transfer-individual:
                summary: Query required fields for an individual bank transfer
                value:
                  bankCountry: US
                  entityType: "1"
                  merchantNo: "801129"
                  paymentMethod: BANK_TRANSFER
                  payoutCurrency: USD
                  sign: "{{SIGN}}"
      responses:
        "200":
          description: Required fields returned for an individual bank transfer
          content:
            application/json:
              schema:
                type: object
                properties:
                  respCode:
                    type: string
                    description: Response code returned by Onerway.
                  respMsg:
                    type:
                      - string
                      - "null"
                    description: Response message returned by Onerway.
                    x-onerway-value:
                      nullable: true
                      when:
                        en: No response message is returned.
                        zh: 未返回响应信息时为 `null`。
                  data:
                    type: object
                    properties:
                      merchantNo:
                        type: string
                        description: Merchant number echoed in the response.
                      accountInfomation:
                        type: object
                        properties:
                          cardNumber:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          accountType:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          swiftCode:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          sortCode:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          branchCode:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          bankHolderName:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          walletType:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          walletPhone:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                        description: Required-field flags for beneficiary account details.
                      address:
                        type: object
                        properties:
                          state:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          city:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          addressLine1:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          addressLine2:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          addressLine3:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          postalCode:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                        description: Required-field flags for beneficiary address details.
                      receiverInfo:
                        type: object
                        properties:
                          nickName:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          companyName:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          lastName:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          firstName:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          areaCode:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          phone:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          vatNumber:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          birthDate:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                          email:
                            type: string
                            description: Field requirement flag. `Y` means required, `C` means conditionally
                              required, and `N` means optional.
                        description: Required-field flags for beneficiary identity details.
                    description: Field requirement matrix for the requested payout scenario.
              examples:
                required-fields-bank-transfer-individual:
                  summary: Required fields returned for an individual bank transfer
                  value:
                    respCode: "20000"
                    respMsg: null
                    data:
                      merchantNo: "801129"
                      accountInfomation:
                        cardNumber: Y
                        accountType: Y
                        swiftCode: C
                        sortCode: C
                        branchCode: N
                        bankHolderName: Y
                        walletType: N
                        walletPhone: N
                      address:
                        state: Y
                        city: Y
                        addressLine1: Y
                        addressLine2: N
                        addressLine3: N
                        postalCode: Y
                      receiverInfo:
                        nickName: N
                        companyName: N
                        lastName: Y
                        firstName: Y
                        areaCode: C
                        phone: C
                        vatNumber: N
                        birthDate: C
                        email: C
```
