日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

銀行卡核驗

本文介紹銀行卡要素(銀行卡二要素、銀行卡三要素和銀行卡四要素)API接口。

接口信息

  • 接口名稱:BankMetaVerify。

  • 服務地址:

    • 北京地域:cloudauth.cn-beijing.aliyuncs.com(IPv4)或cloudauth-dualstack.cn-beijing.aliyuncs.com(IPv6)。

    • 上海地域:cloudauth.cn-shanghai.aliyuncs.com(IPv4)或cloudauth-dualstack.cn-shanghai.aliyuncs.com(IPv6)。

  • 請求方法:POST和GET。

  • 傳輸協議:HTTPS。

  • 接口說明:銀行卡要素一致性核驗, 包含:

    • 銀行卡二要素(姓名+銀行卡號)。

    • 銀行卡三要素(姓名+證件號碼+銀行卡號)。

    • 銀行卡四要素(姓名+證件號碼+手機號+銀行卡號)。

請求參數

名稱

類型

是否必選

描述

示例值

ParamType

String

參數類型:

  • normal:不加密

  • md5:MD5加密

說明

請在如下入參字段中詳細閱讀MD5加密規則。

normal

VerifyMode

Strng

VERIFY_BANK_CARD:銀行卡認證模式。

表示將傳入的銀行卡號和用戶的真實姓名、證件號、手機號是否匹配。

VERIFY_BANK_CARD

ProductType

String

調用產品類型:

  • BANK_CARD_2_META:銀行卡號+姓名核驗

  • BANK_CARD_3_META:銀行卡號+姓名+證件號核驗

  • BANK_CARD_4_META:銀行卡號+姓名+證件號+手機號核驗

BANK_CARD_4_META

BankCard

String

銀行卡號:

  • paramType = normal:輸入銀行卡號明文。

  • paramType = md5:卡號除最后6位其他部分明文+最后6位md5值(32位小寫)。

1234567890****

UserName

String

姓名:

  • paramType = normal:輸入姓名明文。

  • paramType = md5:姓名第一個字MD5加密(32位小寫MD5)+ 姓名其他部分明文。

張三

IdentityType

String

證件類型(傳空值默認為身份證,其他證件類型詳見下表)。

01

IdentifyNum

String

證件號:

  • paramType = normal:輸入證件號明文。

  • paramType = md5:

    • 身份證號前6位(明文)+出生年月日(32位小寫MD5)+身份證號后4位(明文)。

    • 其他證件最后兩位MD5加密。

重要

ProductType為以下取值時,此項必選。

  • BANK_CARD_3_META

  • BANK_CARD_4_META

33010312345678****

Mobile

String

手機號:

  • paramType = normal:輸入手機號明文。

  • paramType = md5:輸入手機號(32位小寫MD5)。

重要

ProductType = BANK_CARD_4_META 時,此項必選。

1304567****

證件類型列表

IdentityType

對應證件

01

身份證

02

軍官證

03

護照

04

港澳居民來往內地通行證

05

臺灣居民來往大陸通行證

06

警官證

07

士兵證

08

外國護照

09

外國人永久居留身份證

10

港澳居民居住證

11

臺灣居民居住證

響應參數

名稱

類型

描述

示例值

RequestId

String

請求ID。

130A2C10-B9EE-4D84-88E3-5384FF039795

Message

String

返回信息。

success

Code

String

返回碼:200為成功,其他為失敗。

重要
  • 此參數代表是否正確調用了接口,詳細的返回碼說明請參見錯誤碼

  • 業務核驗結果請通過ResultObject中的字段查看。

200

ResultObject

BizCode

String

核驗結果:

  • 1:校驗?致(計費)

  • 2:校驗不?致(計費)

  • 3:查?記錄(不計費)

1

SubCode

String

核驗詳情:

  • 101:驗證通過。

  • 201:認證信息不一致,持卡人信息有誤。

  • 202:認證信息不一致,銀行卡未開通認證支付。

  • 203:認證信息不一致,銀行卡已過期。

  • 204:認證信息不一致,銀行卡為受限制的卡。

  • 205:認證信息不一致,此卡被沒收。

  • 206:認證信息不一致,銀行卡無效。

  • 207:認證信息不一致,此卡無對應發卡行。

  • 208:認證信息不一致,該卡未初始化或睡眠卡。

  • 209:認證信息不一致,此卡為作弊卡、吞卡。

  • 210:認證信息不一致,此卡已掛失。

  • 211:認證信息不一致,密碼錯誤次數超限。

  • 212:認證信息不一致,發卡行不支持此交易。

  • 213:認證信息不一致,卡狀態不正常或卡無效。

  • 214:認證信息不一致,未預留手機號。

  • 215:認證信息不一致,輸入的密碼、有效期或CVN2有誤。

  • 216:認證信息不一致,其他卡異常情況。

  • 301:無法驗證,銀行卡不支持該業務。

  • 302:無法驗證,驗證失敗或銀行拒絕驗證,請聯系發卡行。

  • 303:無法驗證,銀行卡暫不支持手機號驗證。

  • 304:無法驗證,銀行卡號有誤。

  • 305:無法驗證,其他原因。

  • 306:無法驗證,驗證次數超限。

101

SDK調用示例

以下為您介紹不同語言SDK的調用示例。

Java

使用Maven引入SDK:

以下依賴版本僅供參考,建議在實際配置時獲取最新依賴版本。

<dependency>
 <groupId>com.aliyun</groupId>
 <artifactId>cloudauth20190307</artifactId>
 <version>2.8.0</version>
</dependency>
說明

Credentials工具配置方法,請參見管理訪問憑據。

示例:

import com.aliyun.cloudauth20190307.Client;
import com.aliyun.cloudauth20190307.models.BankMetaVerifyRequest;
import com.aliyun.cloudauth20190307.models.BankMetaVerifyResponse;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;

import java.util.Arrays;
import java.util.List;

public class BankMetaVerify {
    public static void main(String[] args) throws Exception {

        // 通過以下代碼創建API請求并設置參數。
        BankMetaVerifyRequest request = new BankMetaVerifyRequest();

        request.setParamType("normal");
        request.setProductType("BANK_CARD_4_META");
        request.setVerifyMode("VERIFY_BANK_CARD");
        request.setUserName("張**");
        request.setIdentifyNum("411***************");
        request.setBankCard("621****************");
        request.setMobile("131********");
        // 此項非必填,默認為01(身份證),如果填入其他類型,需要在IdentifyNum中傳入對應的證件號。
        request.setIdentityType("01");
        

        // 推薦,支持服務路由。
        BankMetaVerifyResponse response = bankMetaVerifyAutoRoute(request);

        // 不支持服務自動路由。
        //BankMetaVerifyResponse response = bankMetaVerify("cloudauth.cn-shanghai.aliyuncs.com", request);

        System.out.println(response.getBody().getRequestId());
        System.out.println(response.getBody().getCode());
        System.out.println(response.getBody().getMessage());
        System.out.println(response.getBody().getResultObject() == null ? null
                : response.getBody().getResultObject().getBizCode());
        System.out.println(response.getBody().getResultObject() == null ? null
                : response.getBody().getResultObject().getSubCode());
    }

    private static BankMetaVerifyResponse bankMetaVerifyAutoRoute(BankMetaVerifyRequest request) {
        // 上海區域服務:第一個為主區域Endpoint,第二個為備區域Endpoint。
        List<String> endpoints = Arrays.asList("cloudauth.cn-shanghai.aliyuncs.com", "cloudauth.cn-beijing.aliyuncs.com");
        
        // 北京區域服務:第一個為主區域Endpoint,第二個為備區域Endpoint。
        // List<String> endpoints = Arrays.asList("cloudauth.cn-beijing.aliyuncs.com", "cloudauth.cn-shanghai.aliyuncs.com");
        
        BankMetaVerifyResponse lastResponse = null;
        for (int i=0; i<endpoints.size(); i++) {
            try {
                BankMetaVerifyResponse response = bankMetaVerify(endpoints.get(i), request);
                lastResponse = response;

                // 服務端錯誤,切換到下個區域調用。
                if(response != null){
                    if(500 == response.getStatusCode()){
                        continue;
                    }
                    if(response.getBody() != null){
                        if("500".equals(response.getBody().getCode())){
                            continue;
                        }
                    }
                }

                return response;
            } catch (Exception e) {
                e.printStackTrace();
                if(i == endpoints.size()-1){
                    throw new RuntimeException(e);
                }
            }
        }

        return lastResponse;
    }

    private static BankMetaVerifyResponse bankMetaVerify(String endpoint, BankMetaVerifyRequest request)
            throws Exception {
        // 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
        // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
        // 本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。如何配置環境變量,請參見http://m.bestwisewords.com/document_detail/378657.html。
        com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
        Config config = new Config();
        config.setCredential(credentialClient);
        config.setEndpoint(endpoint);
        // 設置http代理。
        //config.setHttpProxy("http://xx.xx.xx.xx:xxxx");
        // 設置https代理。
        //config.setHttpsProxy("http://xx.xx.xx.xx:xxxx");
        Client client = new Client(config);

        // 創建RuntimeObject實例并設置運行參數。
        RuntimeOptions runtime = new RuntimeOptions();
        runtime.readTimeout = 5000;
        runtime.connectTimeout = 5000;

        return client.bankMetaVerifyWithOptions(request, runtime);
    }
}

PHP

關于PHP SDK源代碼,請參見PHP SDK包。

  • 通過Composer來管理項目依賴(推薦)

    composer require alibabacloud/cloudauth-20190307 2.5.0
  • 使用composer.json文件

    {
       "require": {
           "alibabacloud/cloudauth-20190307": "2.5.0"
        }
    }

示例:

<?php


namespace AlibabaCloud\SDK\Sample\Verify\Id;

use AlibabaCloud\Credentials\Credential; 
use AlibabaCloud\SDK\Cloudauth\V20190307\Cloudauth;
use AlibabaCloud\SDK\Cloudauth\V20190307\Models\BankMetaVerifyRequest;
use AlibabaCloud\SDK\Cloudauth\V20190307\Models\BankMetaVerifyResponse;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\Tea\Utils\Utils;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
use Exception;

class BankMetaVerify
{
    /**
     * createClient
     * @param string $endpoint
     * @return Cloudauth
     */
    public static function createClient(string $endpoint): Cloudauth
    {
        // 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
        // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
        // 本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。如何配置環境變量,請參見 http://m.bestwisewords.com/document_detail/311677.html。 
        $credential = new Credential([]);
        $config = new Config([
			  // 使用credential配置憑證
    		    "credential" => $credential,
            // 設置HTTP代理。
            // "httpProxy" => "<http://xx.xx.xx.xx:xxxx>",
            // 設置HTTPS代理
            // "httpsProxy" => "<https://xx.xx.xx.xx:xxxx>",
            "endpoint" => $endpoint

        ]);
        return new Cloudauth($config);
    }

    /**
     * @return void
     */
    public static function main(){
        $request = new BankMetaVerifyRequest([
            "paramType" => "normal",
            "productType" => "BANK_CARD_4_META",
            "verifyMode" => "VERIFY_BANK_CARD",
            "userName" => "張*",
            "identifyNum" => "411***************",
            "bankCard" => "621*****************",
            "mobile" => "131********",
            // 此項非必填,默認為01(身份證),如果填入其他類型,需要在IdentifyNum中傳入對應的證件號。
            "identityType" => "01",
        ]);
        // 推薦,支持服務路由。
        $response = self::bankMetaVerifyAutoRoute($request);
        // 不支持服務自動路由。
        // $response = self::bankMetaVerify("cloudauth.cn-shanghai.aliyuncs.com", $request);
        var_dump($response->body->requestId);
        var_dump($response->body->code);
        var_dump($response->body->message);
        var_dump($response->body->resultObject->bizCode);
        var_dump($response->body->resultObject->subCode);
    }

    /**
     * bankMetaVerifyAutoRoute
     * @param BankMetaVerifyRequest $request
     * @return BankMetaVerifyResponse|null
     */
    public static function bankMetaVerifyAutoRoute(BankMetaVerifyRequest $request): ?BankMetaVerifyResponse
    {
        //上海區域推薦使用
        $endpoints = [
            "cloudauth.cn-shanghai.aliyuncs.com",
            "cloudauth.cn-beijing.aliyuncs.com"
        ];
        //北京區域推薦使用
        // $endpoints = [
        //     "cloudauth.cn-beijing.aliyuncs.com",
        //     "cloudauth.cn-shanghai.aliyuncs.com"
        // ];
        foreach($endpoints as $endpoint){
            try {
                $response = self::bankMetaVerify($endpoint, $request);
                if (Utils::equalNumber(500, $response->statusCode)) {
                    continue;
                }
                if(Utils::equalString("500", $response->body->code)){
                    continue;
                }
                return $response;
            }
            catch (Exception $err) {
                var_dump($err -> getCode());
                var_dump($err -> getMessage());
            }
        }
        return null;
    }

    /**
     * bankMetaVerify
     * @param string $endpoint
     * @param BankMetaVerifyRequest $request
     * @return BankMetaVerifyResponse
     */
    public static function bankMetaVerify(string $endpoint, BankMetaVerifyRequest $request): BankMetaVerifyResponse
    {
        $client = self::createClient($endpoint);
        // 創建RuntimeObject實例并設置運行參數。
        $runtime = new RuntimeOptions([]);
        $runtime->readTimeout = 5000;
        $runtime->connectTimeout = 5000;
        return $client->bankMetaVerifyWithOptions($request, $runtime);
    }
}

$path = __DIR__ . \DIRECTORY_SEPARATOR . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
    require_once $path;
}
BankMetaVerify::main();
說明

Credentials工具配置方法,請參見管理訪問憑據。

Python

關于Python SDK源代碼,請參見Python SDK包。

引入依賴并安裝SDK:

pip install alibabacloud_tea_openapi==0.2.5
pip install alibabacloud_credentials==0.3.2
pip install alibabacloud_cloudauth20190307==2.5.0
說明

Credentials工具配置方法,請參見管理訪問憑據。

示例:

from alibabacloud_cloudauth20190307.client import Client as CloudauthClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_cloudauth20190307 import models as cloudauth_models
from alibabacloud_tea_util.client import Client as UtilClient
from alibabacloud_tea_util import models as util_models
from alibabacloud_credentials.client import Client as CredClient


class BankMetaVerify:
    def __init__(self):
        pass

    @staticmethod
    def create_client(
            endpoint: str,
    ) -> CloudauthClient:
        # 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
        # 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
        # 本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。如何配置環境變量,請參見 http://m.bestwisewords.com/zh/sdk/developer-reference/configure-credentials。
        cred=CredClient()
        config = open_api_models.Config(
        credential=cred,
        # 設置HTTP代理。
        # http_proxy='http://xx.xx.xx.xx:xxxx',
        # 設置HTTPS代理。
        # https_proxy='https://username:password@xxx.xxx.xxx.xxx:9999',
        endpoint=endpoint
        )
        return CloudauthClient(config)

    @staticmethod
    def main() -> None:
        request = cloudauth_models.BankMetaVerifyRequest(
            param_type='normal',
            verify_mode = "VERIFY_BANK_CARD",
            product_type = "BANK_CARD_4_META",
            user_name='張x',
            identify_num='411***************',
            bank_card = "621*****************",
            mobile = "131********",
            # 此項非必填,默認為01(身份證),如果填入其他類型,需要在IdentifyNum中傳入對應的證件號。
            identityType = "01"
        )
        response = BankMetaVerify.bank_meta_verify_auto_route(request)
        # 不支持服務自動路由。
        # response = BankMetaVerify.bank_meta_verify('cloudauth.cn-shanghai.aliyuncs.com', request)
        print(response.body.request_id)
        print(response.body.code)
        print(response.body.message)
        print(response.body.result_object.biz_code)
        print(response.body.result_object.sub_code)

    @staticmethod
    def bank_meta_verify_auto_route(
            request: cloudauth_models.BankMetaVerifyRequest,
    ) -> cloudauth_models.BankMetaVerifyResponse:
        # 上海區域推薦使用
        endpoints = [
            'cloudauth.cn-shanghai.aliyuncs.com',
            'cloudauth.cn-beijing.aliyuncs.com'
        ]
        # 北京區域推薦使用
        # endpoints = [
        #     'cloudauth.cn-beijing.aliyuncs.com',
        #     'cloudauth.cn-shanghai.aliyuncs.com'
        # ]
        for endpoint in endpoints:
            try:
                response = BankMetaVerify.bank_meta_verify(endpoint, request)
                if UtilClient.equal_number(500, response.status_code):
                    continue
                if response is not None and response.body is not None:
                    if UtilClient.equal_string("500", response.body.code):
                        continue
                return response
            except Exception as err:
                print(err)
                continue
        return None

    @staticmethod
    def bank_meta_verify(
            endpoint: str,
            request: cloudauth_models.BankMetaVerifyRequest,
    ) -> cloudauth_models.BankMetaVerifyResponse:
        client = BankMetaVerify.create_client(endpoint)
        # 創建RuntimeObject實例并設置運行參數。
        runtime = util_models.RuntimeOptions()
        runtime.read_timeout = 5000
        runtime.connect_timeout = 5000
        return client.bank_meta_verify_with_options(request, runtime)


if __name__ == '__main__':
    BankMetaVerify.main()
            

Go

引入Credentials工具并安裝SDK:

go get -u github.com/aliyun/credentials-go
go get github.com/alibabacloud-go/cloudauth-20190307/v3
說明

Credentials工具配置方法,請參見管理訪問憑據。

示例:

package main

import (
	"fmt"
	cloudauth "github.com/alibabacloud-go/cloudauth-20190307/v3/client"
	openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
	util "github.com/alibabacloud-go/tea-utils/v2/service"
	"github.com/alibabacloud-go/tea/tea"
    "github.com/aliyun/credentials-go/credentials"
)


func CreateClient (endpoint *string) (_result *cloudauth.Client, _err error) {
  //阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
  //強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
  //本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。
   // 初始化Credential。
	credential, _err := credentials.NewCredential(nil)
	if _err != nil {
		panic(_err)
	}
	// 初始化Client。
	config := &openapi.Config{
	// 使用Credential配置憑證。
	Credential: credential,
	Endpoint:   endpoint,
	// 設置HTTP代理。
	// HttpProxy: tea.String("http://xx.xx.xx.xx:xxxx"),
	// 設置HTTPS代理。
	// HttpsProxy: tea.String("https://username:password@xxx.xxx.xxx.xxx:9999"),
	}
	//_result = &cloudauth.Client{}
	_result, _err = cloudauth.NewClient(config)
	return _result, _err
}

func _main () (_err error) {
	request := &cloudauth.BankMetaVerifyRequest{
		ParamType: tea.String("normal"),
		UserName: tea.String("張*"),
		IdentifyNum: tea.String("411***************"),
                VerifyMode: tea.String("VERIFY_BANK_CARD"),
                ProductType: tea.String("BANK_CARD_4_META"),
                BankCard: tea.String("621*****************"),
                Mobile: tea.String("131********"),
                // 此項非必填,默認為01(身份證),如果填入其他類型,需要在IdentifyNum中傳入對應的證件號。
                IdentityType: tea.String("01")
	}
	response, _err := BankMetaVerifyAutoRoute(request)
	// 不支持服務自動路由。
	// response, _err := BankMetaVerify(tea.String("cloudauth.cn-shanghai.aliyuncs.com"), request)
	if _err != nil {
		return _err
	}

	fmt.Println(*response.Body.RequestId)
	fmt.Println(*response.Body.Code)
	fmt.Println(*response.Body.Message)
	fmt.Println(*response.Body.ResultObject.BizCode)
    fmt.Println(*response.Body.ResultObject.SubCode)
	return _err
}

func BankMetaVerifyAutoRoute (request *cloudauth.BankMetaVerifyRequest) (_result *cloudauth.BankMetaVerifyResponse, _err error) {
	// 上海區域推薦使用
    endpoints := []*string{tea.String("cloudauth.cn-shanghai.aliyuncs.com"), tea.String("cloudauth.cn-beijing.aliyuncs.com")}
	// 北京區域推薦使用
    // endpoints := []*string{tea.String("cloudauth.cn-beijing.aliyuncs.com"), tea.String("cloudauth.cn-shanghai.aliyuncs.com")}
	
    var lastResponse *cloudauth.BankMetaVerifyResponse
	for _, endpoint := range endpoints {
		response, _err := BankMetaVerify(endpoint, request)
		lastResponse = response
		if _err != nil {
			var err = &tea.SDKError{}
			if _t, ok := _err.(*tea.SDKError); ok {
				err = _t
				// 系統異常,切換到下個地域調用。
				if *err.StatusCode == 500 {
					continue
				}
			}
			return _result, _err
		}

		if *response.StatusCode == 500 {
			continue
		}

		if *response.Body.Code == "500"{
			continue
		}

		_result = response
		return _result, _err

	}
	_result = lastResponse
	return _result, _err
}

func BankMetaVerify (endpoint *string, request *cloudauth.BankMetaVerifyRequest) (_result *cloudauth.BankMetaVerifyResponse, _err error) {
	client, _err := CreateClient(endpoint)
	if _err != nil {
		return _result, _err
	}

	// 創建RuntimeObject實例并設置運行參數。
	runtime := &util.RuntimeOptions{}
	runtime.ReadTimeout = tea.Int(5000)
	runtime.ConnectTimeout = tea.Int(5000)
	_result = &cloudauth.BankMetaVerifyResponse{}
	_body, _err := client.BankMetaVerifyWithOptions(request, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}


func main() {
	err := _main()
	if err != nil {
		panic(err)
	}
}

.NET

引入依賴并安裝SDK:

  • 方式一:通過.NET命令行安裝。

    dotnet add package AlibabaCloud.SDK.Cloudauth20190307 --version 2.5.0
    dotnet add package Aliyun.Credentials
  • 方式二:使用包管理安裝。

    Install-Package AlibabaCloud.SDK.Cloudauth20190307 -Version 2.5.0
    Install-Package Aliyun.Credentials
說明

Credentials工具配置方法,請參見管理訪問憑證。

示例:

using System;

using System.Collections.Generic;
using Tea;


namespace BankMetaVerify
{
    public class Program
    {

        public static AlibabaCloud.SDK.Cloudauth20190307.Client CreateClient(string endpoint)
        {
            AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
            {
               Credential=new Aliyun.Credentials.Client(null)
            };
  					config.Endpoint = endpoint;
            return new AlibabaCloud.SDK.Cloudauth20190307.Client(config);
        }

        public static void Main(string[] args)
        {
            AlibabaCloud.SDK.Cloudauth20190307.Models.BankMetaVerifyRequest request = new AlibabaCloud.SDK.Cloudauth20190307.Models.BankMetaVerifyRequest
            {
                ParamType = "normal",
                VerifyMode = "VERIFY_BANK_CARD",
                ProductType = "BANK_CARD_4_META",
                UserName = "張*",
                IdentifyNum = "411***************", 
                BankCard = "621*****************",
                Mobile = "131********",
                // 此項非必填,默認為01(身份證),如果填入其他類型,需要在IdentifyNum中傳入對應的證件號。
                IdentityType = "01"
            };
            AlibabaCloud.SDK.Cloudauth20190307.Models.BankMetaVerifyResponse response = BankMetaVerifyAutoRoute(request);
            // 不支持服務自動路由。
            //AlibabaCloud.SDK.Cloudauth20190307.Models.BankMetaVerifyResponse response = BankMetaVerify("cloudauth.cn-shanghai.aliyuncs.com", request);
            Console.WriteLine(response.Body.RequestId);
            Console.WriteLine(response.Body.Code);
            Console.WriteLine(response.Body.Message);
            Console.WriteLine(response.Body.ResultObject.BizCode);
            Console.WriteLine(response.Body.ResultObject.SubCode);
        }


        public static AlibabaCloud.SDK.Cloudauth20190307.Models.BankMetaVerifyResponse BankMetaVerifyAutoRoute(AlibabaCloud.SDK.Cloudauth20190307.Models.BankMetaVerifyRequest request)
        {
            // 上海區域推薦使用
            List<string> endpoints = new List<string>
            {
                "cloudauth.cn-shanghai.aliyuncs.com",
                "cloudauth.cn-beijing.aliyuncs.com"
            };
            // 北京區域推薦使用
            // List<string> endpoints = new List<string>
            // {
            //     "cloudauth.cn-beijing.aliyuncs.com",
            //     "cloudauth.cn-shanghai.aliyuncs.com"
            // };
            AlibabaCloud.SDK.Cloudauth20190307.Models.BankMetaVerifyResponse lastResponse = null;

            foreach (var endpoint in endpoints)
            {
                try
                {
                    AlibabaCloud.SDK.Cloudauth20190307.Models.BankMetaVerifyResponse response = BankMetaVerify(endpoint, request);
                    lastResponse = response;
                    if (response is not null)
                    {
                        if (AlibabaCloud.TeaUtil.Common.EqualNumber(500, (int)(response.StatusCode)))
                        {
                            continue;
                        }

                        if (response.Body is not null)
                        {
                            if (AlibabaCloud.TeaUtil.Common.EqualString("500", response.Body.Code))
                            {
                                continue;
                            }
                        }
                    }
                    return response;
                }
                catch (TeaException err)
                {
                    Console.WriteLine(err);
                    // 網絡異常,切換到下個區域調用。
                    if (AlibabaCloud.TeaUtil.Common.EqualString("ServiceUnavailable", err.Code))
                    {
                        continue;
                    }
                }
                catch (Exception _err)
                {
                    Console.WriteLine(_err);
                    continue;
                }
            }
            return lastResponse;
        }

        public static AlibabaCloud.SDK.Cloudauth20190307.Models.BankMetaVerifyResponse BankMetaVerify(string endpoint, AlibabaCloud.SDK.Cloudauth20190307.Models.BankMetaVerifyRequest request)
        {
            AlibabaCloud.SDK.Cloudauth20190307.Client client = CreateClient(endpoint);
            // 創建RuntimeObject實例并設置運行參數。
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            runtime.ReadTimeout = 5000;
            runtime.ConnectTimeout = 5000;
            return client.BankMetaVerifyWithOptions(request, runtime);
        }
    }
}

Node.js

引入依賴并安裝SDK:

npm install @alicloud/tea-util
npm install @alicloud/openapi-client
npm install @alicloud/cloudauth20190307@2.4.0
npm install @alicloud/credentials
說明

Credentials工具配置方法,請參見管理訪問憑證。

示例:

const Config = require("@alicloud/openapi-client");
const CloudAuth = require("@alicloud/cloudauth20190307");
const CloudAuthClient = CloudAuth.default;
const {RuntimeOptions} = require("@alicloud/tea-util");
const { default: Credential } = require('@alicloud/credentials');

function createClient(endpoint) {
    // 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
    // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
    // 本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。
    const cred = new Credential();
    const config = new Config.Config({
    credential: cred,
    // 設置Endpoint。
    endpoint: endpoint,
    // 設置HTTP代理。
    // httpProxy: "http://xxx.xxx.xxx.xxx:9999",
    // 設置HTTPS代理。
    // httpsProxy: "https://username:password@xxx.xxx.xxx.xxx:9999",
  });
  return new CloudAuthClient(config);
}

async function bankMetaVerify(endpoint, request) {
    const client = createClient(endpoint);
    // 創建RuntimeObject實例并設置運行參數。
    const runtime = new RuntimeOptions([]);
    runtime.readTimeout=5000;
    runtime.connectTimeout=5000;
    return await client.bankMetaVerifyWithOptions(request, runtime);
}

async function bankMetaVerifyAutoRoute(request) {
    // 上海區域推薦使用
    const endpoints = [
        "cloudauth.cn-shanghai.aliyuncs.com",
        "cloudauth.cn-beijing.aliyuncs.com"
    ];
    // 北京區域推薦使用
    // const endpoints = [
    //     "cloudauth.cn-beijing.aliyuncs.com",
    //     "cloudauth.cn-shanghai.aliyuncs.com"
    // ];

    for (const endpoint of endpoints) {
        try {
            const response = await bankMetaVerify(endpoint, request);
            if (response.statusCode === 500) {
                continue;
            }
            if(response.body !== null){
                if(response.body.code === "500"){
                    continue;
                }
            }
            return response;
        } catch (err) {
            console.log(err);
            continue;
        }
    }
    return null;
}

async function main(){
    // 通過以下代碼創建API請求并設置參數。
    const request = new CloudAuth.BankMetaVerifyRequest({
        // 固定值。
        paramType: "normal",
        verifyMode: "VERIFY_BANK_CARD",
        productType: "BANK_CARD_4_META",
        identifyNum: "411***************",
        userName: "張*",
        bankCard: "621*****************",
        mobile: "131********",
        // 此項非必填,默認為01(身份證),如果填入其他類型,需要在IdentifyNum中傳入對應的證件號。
        identityType: "01"
    });

    // 推薦,支持服務路由。
    const response = await bankMetaVerifyAutoRoute(request);
    // 不支持服務自動路由。
    // const response = await bankMetaVerify("cloudauth.cn-shanghai.aliyuncs.com", request);
   if (response){
    console.log(response.body.requestId);
    console.log(response.body.code);
    console.log(response.body.message);
    console.log(response.body.resultObject.bizCode);
    console.log(response.body.resultObject.subCode);
    }
}

main().then(function (response) {});