下单并支付
注意
API Only 模式下卡支付必须接入风控组件
POST
Request Body Parameters
application/json公共请求参数
bizContent
threeDSRequestDataString按条件选3DS验证请求参数。详见3DS集成指南executeThreeDString按条件选3ds验证执行策:- Y-强制进行3ds验证,并且使用PingPongCheckout的3ds
- depends-是否进行3ds验证交由PingPongCheckout的风控决策决定
- external-需要进行3ds验证,但3ds参数有商户自行收集,交由PingPong执行。备注:此选项不适用于收银台
authenticationValueString按条件选发卡行在客户身份验证后为Visa、American Express、JCB、Diners Club和Discover交易生成的唯一标识符。原始数据以base64为单位。需要将值转换为格式。acsTransactionIdString按条件选由ACS分配的唯一事务标识符,用于标识单个事务。veresEnrolledString按条件选注册检查的结果。此字段可以包含以下值之一:- Y-卡已注册或可注册;您必须进行身份验证。责任转移。
- N-未登记卡;进行授权。责任转移。
- U-无论何种原因,都无法进行身份验证。没有责任转移
specificationVersionString按条件选此字段包含用于处理事务的3D Secure版本。例如,1.0.2或2.0.0。directoryServerTransactionIdString按条件选目录服务器交易ID由万事达目录服务器在认证交易期间生成,并与认证结果一起传递回商家。threeDSServerTransactionIdString按条件选3DS服务器分配的唯一事务标识符,用于标识单个事务。paresStatusString按条件选身份验证检查的原始结果。此字段可以包含以下值之一:- A-已生成身份验证尝试的证明。
- N-客户身份验证失败或取消。交易被拒绝。
- U-无论何种原因,身份验证都未完成。
- Y-客户已成功通过身份验证。
eciString按条件选对于验证,仅为Visa、American Express、JCB返回数字电子商务指示符(ECI)Diners Club和Discover交易。身份验证失败时缺少字段。此字段包含以下值之一:- 01-尝试身份验证(万事达卡)
- 02-认证成功(万事达卡)
- 05-Successful authentication (Visa, American Express, JCB, UNION PAY, Diners Club, and Discover)
- 06-尝试身份验证(Visa、American Express、JCB、Diners Club和Discover)
paymentMethodObject必填要使用的付款方式的类型和所需的详细信息。typeString(32)必填付款方式:- scheme 国际信用卡支付
- 本地支付方式 可选值:Non-Hosted支持的APM
- 固定传入:networkToken,如果用卡组的token必传
scanCodeIdString按条件选付款代码客户手机钱包客户端生成的支付代码。通常以条形码或QR码的形式显示。商户终端扫描客户的手机屏幕获取代码cardInfoObject按条件选持卡人信息,信用卡支付,并且不使用绑卡情况必填numberString(64)必填国际信用卡卡号pinString(2)可选本地卡密码前两位holderFirstNameString必填持卡人名,字符类型,不含特殊符号holderLastNameString必填持卡人姓,字符类型,不含特殊符号expireMonthString(2)必填有效期-月,2位数字expireYearString(4)必填有效期-年,4位数字cvvString(4)必填信用卡CVV,Visa/MasterCard/JCB/Discover/Diners club的cvv字符长度均为三位,American Express的cvv字符长度可能为四位schemeTokenValueString(255)按条件选卡组的token,如果用卡组的token必传paymentBrandString(24)按条件选卡品牌,如果用卡组的token必传,可选值为visa/MasterCardtokenCryptogramString(255)按条件选加密的数值字符串,用于验证卡片和终端之间的交易数据。如果用卡组的token必传
ibanString可选特定支付方式必传,国际银行支付账号ovoIdString可选钱包IDcustomerKanjiFirstNameString可选客户的名字,以汉字表示customerKanjiLastNameString可选客户的姓氏,以汉字表示customerKatakanaFirstNameString可选客户的名字,以片假名表示customerKatakanaLastNameString可选客户的姓氏,以片假名表示companyNameString可选公司名称applePayObject按条件选当选择支付方式 type 为 ApplePay 的情况下必传applePayTokenDataObject按条件选加密参数,applePay 交易返回的 paymentTokenversionString必填版本信息,表示加密协议的版本。例如 "EC_v1"dataString必填基于 Base64 编码的加密数据,包含实际的支付信息signatureString必填基于 Base64 编码的签名,用于验证支付数据的完整性和来源的真实性headerObject必填包含与加密相关的元数据ephemeralPublicKeyString必填基于 Base64 编码的临时公钥,用于加密交易信息publicKeyHashString必填基于 Base64 编码的公钥哈希,用于验证商户的公钥transactionIdString必填唯一的交易标识符,用于标识该支付交易
applePayTokenDecryptionDataObject按条件选解密参数,applePay 交易返回的 paymentTokencardTokenString必填applepay解密后的虚拟卡号-applicationPrimaryAccountNumberexpirationDateString必填过期时间 YYMMDD-applicationExpirationDatecardholderNameString可选持卡人姓名-cardholderNamepaymentDataTypeString必填枚举: EMV 、 3DSecurepaymentDataObject必填applePay 交易返回的 paymentTokenonlinePaymentCryptogramString可选paymentDataType:3DSecure时 -paymentData.onlinePaymentCryptogram(paymentDataType:3DSecure时必填)eciIndicatorString可选3ds eci-- paymentDataType:3DSecure时 paymentData.eciIndicator(paymentDataType:3DSecure时必填)emvDataString可选paymentDataType:emv时- paymentData.emvData(paymentDataType:emv时必填)encryptedPINDataString可选paymentDataType:emv时- paymentData.encryptedPINData(paymentDataType:emv时必填)
googlePayObject按条件选当选择支付方式 type 为 GooglePay 的情况下必传googleEncryptTokenObject按条件选googlepay获取到的加密卡信息googlePayTokenDecryptionDataObject按条件选googlepay解密的卡信息gatewayMerchantIdString可选google 解密后消息体中的gatewayMerchantIdmessageIdString可选google 解密后消息体中的messageIdmessageIdString可选google 解密后消息体中的messageIdpaymentMethodString可选google 解密后消息体中的paymentMethodpaymentMethodDetailsObject必填google 解密后消息体中的paymentMethodDetailsauthMethodString必填google 解密后消息体中的authMethodexpirationMonthString必填google 解密后消息体中的expirationMonthexpirationYearString必填google 解密后消息体中的expirationYearpanString必填google 解密后消息体中的panassuranceDetailsObject可选google 解密后消息体中的assuranceDetailsaccountVerifiedString必填google 解密后消息体中的accountVerifiedcardHolderAuthenticatedString必填google 解密后消息体中的cardHolderAuthenticated
customerObject按条件选客户信息。虚拟数娱行业非必传firstNameString(24)按条件选用户名称lastNameString(24)按条件选用户姓氏emailString(128)按条件选用户邮箱phoneString(20)按条件选用户联系电话birthDateString(10)按条件选出生日期,格式为YYYY-MM-DDidentificationTypeString(20)按条件选用户身份证件类型(特定国家需要,如墨西哥)identificationIdString(20)按条件选用户身份证件号码(特定国家需要,如墨西哥)phoneCountryCodeString(20)按条件选电话号码的国家代码或国际区号(不需要加特殊符号)
billingAddressObject必填账单信息streetString(256)必填账单人街道地址postcodeString(16)必填邮政编码cityString(50)必填账单人城市stateString(128)必填账单人省份,美国加拿大地区传二字码,部分地区没有省份可以不填districtString按条件选账单人所属区/县countryString(64)必填账单人国家, (ISO 二字码)⻅附录 《国家代码》
browserInfoObject按条件选浏览器信息,当支付方式为卡支付时必传windowSizeString(64)按条件选窗口大小: 01-250x400 02-390x400 03-500x600 04-600x400 05 - Full screenacceptHeaderString按条件选http响应头信息, 示例值: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, image/apng, *;q=0.8colorDepthString(16)按条件选窗口颜色, 获取浏览器screen.colorDepth 示例值: 32screenHeightint按条件选窗口高度jetLagString按条件选UTC时间和持卡人浏览器本地时间之间的时差,以分钟为单位。userAgentString按条件选浏览器用户代理信息 示例值:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36screenWidthint按条件选屏幕宽度(单位:像素)javaEnabledBoolean按条件选持卡人终端是否能够执行Java。javaScriptEnabledBoolean按条件选指示购物者的浏览器是否能够执行JavaScript。如果字段不存在,则假定为默认 的 true 值。
deviceObject必填设备信息,accessModel取值,可以不填orderTerminalString(2)必填- 01-移动端浏览器(app)
- 02-PC端浏览器(pc)
- 04-SDK(ios)
- 05-SDK(Android)
subOrderListArray按条件选子商户信息明细subMerchantIdString(64)必填商户平台的子商户号subMerchantTransactionIdString(64)必填子商户订单号,子订单唯一标识amountString(12)必填子订单金额subMerchantNameString(255)可选子商户主体名称businessIdentityNumberString(64)可选子商户营业执照编号subMerchantStoreUrlString(255)必填店铺链接subMerchantCountryString(64)必填子商户主体所属国家subMerchantAddressString(255)可选子商户主体地址subMerchantMccString(4)必填商户经营主类目,MCC编码subMerchantBrandString(64)可选商户经营品牌goodsArray必填商品信息nameString(128)必填商品名称unitPriceString(12)必填商品单价quantityString(12)必填商品数量imgUrlString(255)可选商品主图链接mccString(4)可选商品类别,MCC编码virtualProductString(1)可选是否是虚拟产品,虚拟商品(Y/N)
captureDelayHoursint必填- 0表示立即capture
- -1表示手动capture,调用统一下单API成功之后还需要调用下预授权请款 ,本地支付不支持
timeExpireString(10)可选关单时间。3分钟到10天(低于3分钟默认取3分钟,高于10天默认取10天)时间戳格式,单位:秒,示例值:1683530496amountString(12)必填交易金额,精确位数和币种有关,请查询附录交易币种。根据交易合规需要,该金额需等于商品金额总和currencyString(3)必填交易币种,ISO 4217 三位币种,具体支持币种⻅附录交易币种merchantTransactionIdString(64)必填商户网站订单流水号,订单唯一标识,可用于后续订单查询和对账payResultUrlString(255)按条件选商户自定义接收重定向的结果URL;3DS验证,银行在线转账或虚拟钱包之类支付方式时,最后需要重定向到商户指定的⻚面地址merchantRequestBillDescriptorString(22)可选商家自定义动态账单描述,最长 22 个字符;仅允许英文字母、数字、空白字符及英文符号, . ( ) - / :,不允许中文或其他特殊符号。不同渠道侧可能会做适当截取。bizTypeString(12)按条件选`CardOnFile` 交易模式标识。无论 Hosted 还是 Non-Hosted,首笔绑卡并支付且需按 `CardOnFile` 交易模式处理时传固定值 `CardOnFile`;若首次生成 token 时传入了该值,则后续使用该 token 复购时也需继续传入。普通保存卡交易或仅校验卡号/卡要素时无需传此参数(使用这个值请联系技术支持)merchantUserIdString(256)按条件选保存卡/记住卡号、CardOnFile 或 CodeGrant 模式必传- 保存卡/记住卡号:商户网站的持卡人 ID,全局唯一,用于标识对应持卡人身份并关联其已保存卡信息,游客模式或不存在的情况传`null`
- CardOnFile:商户网站的持卡人 ID,全局唯一,用于标识对应持卡人身份并关联其已保存卡信息,游客模式或不存在的情况传`null`
- CodeGrant:会员ID,用户在商户网站的会员ID
createTokenString(1)按条件选Y/N,是否创建token。用于控制本次支付成功后是否生成可复用的支付凭证。Non-Hosted 首笔保存卡并需生成支付凭证时传 `Y`;后续使用已有 token 复购时无需再传此字段tokenString(255)按条件选业务凭证 token。根据不同类型传入对应值- CardOnFile:保存卡成功后返回的支付凭证;若首笔交易按 `CardOnFile` 交易模式处理,则后续使用该 token 复购时也需继续传 `bizType=CardOnFile`
- CodeGrant:签约或授权完成后获取的业务凭证 token
notificationUrlString(255)可选由商户自定义本次交易结果通知的地址,一旦填写该参数,PingPongCheckout 将通过 POST 方式异步推送交易结果到该地址。
地址建议:请填写基于公网域名的完整 URL,推荐使用标准 Web 端口(HTTPS 默认 443,HTTP 默认 80),并确保该地址可稳定接收 PingPongCheckout 的异步通知。closeNotificationUrlString(255)可选由商户自定义本次关单结果通知的地址,一旦填写该参数,PingPongCheckout 将通过 POST 方式异步推送关单结果到该地址。
地址建议:请填写基于公网域名的完整 URL,推荐使用标准 Web 端口(HTTPS 默认 443,HTTP 默认 80),并确保该地址可稳定接收 PingPongCheckout 的异步通知。requestIdString(64)必填唯一请求号,全局唯一remarkString(255)可选商户扩展字段,可用于指定特定参数,会在响应体中原样返回tradeCountryString(2)可选用于指定pingpong收银台国家,默认取pingpong侧支持的国家merchantSourceString(64)按条件选建站平台标识,建站平台接入必传。作用是标识这笔交易的是从哪个建站平台发起的(备注:非建站平台无需上送此参数,如需传此参数需要联系PP技术支持进行确认)shopperIPString(64)必填用户下单IP,支持 IPv4 格式languageString(12)可选用于指定pingpong收银台语言, 不传默认为en。详见附录收银台支持语言列表merchantUserIdString(256)按条件选会员ID,用户在商户网站的会员ID,适用于快捷支付场景,游客身份的情况可以不传jsGeneratedDataString(256)按条件选卡支付必须接入风控组件, 卡支付需要传, 若获取失败,可传空字符串,不阻塞支付流程。通过嵌入pingpong提供的风控组件,获取浏览器相关信息的json字符串,传到这个参数中。使用⻛控插件对接的商户使用,详见3DS集成指南
其他参数
请求报文示例
{
"accId": "2018092714313010016291",
"clientId": "2018092714313010016",
"signType": "SHA256",
"sign": "898A3CBE981B3E2BF4E2B8D1A817D7E23EF93BC4293993EE545E36F4C87F2E79",
"version": "1.0",
"bizContent": {
"timeExpire": "",
"tradeCountry": "",
"paymentMethods": [],
"threeDSRequestData": {
"executeThreeD": "",
"authenticationValue": "",
"acsTransactionId": "",
"veresEnrolled": "",
"specificationVersion": "",
"directoryServerTransactionId": "",
"threeDSServerTransactionId": "",
"paresStatus": "",
"eci": ""
},
"browserInfo": {
"acceptHeader": "content-type=application/x-www-form-urlencoded;accept=*/*;cache-control=no-cache;postman-token=cf489264-5378-4d5d-a86c-72c86a408c03;accept-encoding=gzip, deflate;content-length=588;connection=keep-alive;",
"colorDepth": "32",
"jetLag": "480",
"screenHeight": "1980",
"screenWidth": "1080",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 Chrome/72.0.3626.121 Safari/537.36",
"windowSize": "05",
"javaEnabled": "true",
"javaScriptEnabled": "true"
},
"device": {
"fingerprintId": "",
"orderTerminal": "01"
},
"jsGeneratedData": {
"fingerprintId": "2018092714313010016549_PP20210608151727OB",
"forterSiteId": "e088dda90c4e",
"forterTokenCookie": "c3402ed6f84d4c50add3458a1ce51d60_1623137756842_87_UDF43_11ck",
"orderTerminal": "03",
"threeDSServerTransID": ""
},
"shopperIP": "222.126.52.24",
"captureDelayHours": 0,
"language": "en",
"airline": {
"adultsNumber": "1",
"aircraftCabinType": "FIRST CLASS",
"airlineCompanyID": "CA006",
"airlinePnr": "{dhsalh}",
"arrivalCity": "Adm",
"arrivalCountry": "DK",
"arrivalTime": "201912012010",
"arrivalTimezone": "UTC+8",
"babyNumber": "0",
"bestFare": "Y",
"bookChannel": "Y",
"changedTakeoffTime": "",
"childrenNumber": "0",
"connectingCity": "",
"connectionTicket": "N",
"contactEmail": "123456@gmail.com",
"contactName": "James LeBron",
"contactPhone": "3055787342",
"flightNumber": "CA006122",
"freeChange": "Y",
"frequentFlyerNumber": "CA00612254651B",
"haveChanged": "N",
"hotel": {
"bookNumber": "1",
"bookRange": "2",
"checkInDate": "201912010020",
"city": "Adm",
"country": "DK",
"customerName": "James LeBron",
"name": "AdmHotel",
"refundPolicy": "FREE CANCELLATION",
"star": "5"
},
"ifConnectingFlight": "N",
"ifRoundtripFlight": "Y",
"insurance": "Y",
"leaveRange": "Y",
"passengers": [
{
"birthday": "1991120",
"firstName": "James",
"identificationId": "331081199112012361",
"identificationType": "ID",
"lastName": "LeBron",
"nationality": "US",
"phone": "3055787342"
}
],
"productType": "TICKET",
"routeType": "SINGLE",
"takeoffCity": "Birmingham",
"takeoffCountry": "US",
"takeoffTime": "201912012010",
"takeoffTimezone": "UTC+8",
"thirdPartyBook": "N",
"tripType": "SINGLE",
"valueAdded": "N"
},
"amount": "100",
"billingAddress": {
"city": "Birmingham",
"country": "US",
"postcode": "35222",
"state": "AL",
"street": "1986 Broad Street"
},
"carRental": {
"childrenNumber": "1",
"discountAmount": "120",
"discountType": "15%",
"email": "t_email",
"firstName": "James",
"identificationId": "331081199112012361",
"identificationType": "ID",
"insuranceLimit": "8000",
"insuranceType": "RS",
"lastName": "Lebron",
"model": "SUV",
"nationality": "US",
"personNumber": "3",
"phone": "3055787342",
"purchasedInsurance": "Y",
"rentCity": "Birmingham",
"rentCountry": "US",
"rentTime": "201912200320",
"rentalCompany": "US",
"returnCity": "Birmingham",
"returnCountry": "US",
"returnTime": "201201200320"
},
"currency": "USD",
"customer": {
"email": "t_email",
"firstName": "James",
"lastName": "LeBron",
"identificationId": "",
"identificationType": "ID",
"phone": "3055787343",
"birthDate": ""
},
"eCommerce": {
"freeShipping": "N",
"shippingMethod": "SEA",
"shippingFee": ""
},
"goods": [
{
"description": "short legs",
"imgUrl": "http://pic.bizhi360.com/bpic/30/5230.jpg",
"name": "corgi",
"number": "1",
"sku": "20230524001",
"unitPrice": "22",
"virtualProduct": "N"
},
{
"description": "stupid nerd",
"imgUrl": "http://d.paper.i4.cn/max/2016/12/08/11/1481166973148_375716.jpg",
"name": "husky",
"number": "1",
"sku": "20230524002",
"unitPrice": "22",
"virtualProduct": "N"
}
],
"merchantTransactionId": "t_merchantno",
"merchantUserId": "12604896051315",
"notificationUrl": "https://test-acquirer-payment.pingpongx.com/qa/notify",
"payCancelUrl": "https://test-acquirerpay.pingpongx.com/qa/cancel.html",
"payResultUrl": "https://test-acquirerpay.pingpongx.com/qa/result.html",
"reCharge": {
"accountId": "775330",
"accountName": "von",
"gameCategory": "OTHERS",
"gameName": "Over Watched",
"gameTerminal": "PC",
"platformCategory": "N",
"serverCountry": "US",
"type": "GAME RECHARGE"
},
"remark": "Remark customer defined txt",
"requestId": "t_merchantno",
"shippingAddress": {
"city": "Miami",
"country": "US",
"postcode": "33131",
"state": "FL",
"street": "701 Brickell Avenue, Suite 2700"
}
}
}Responses Body Parameters
application/json公共返回参数
bizContent
issuerInfoObject可选银行返回信息issuerResultCodeString可选银行返回编码issuerResultMsgString可选银行返回信息描述
paymentMethodObject必填要使用的付款方式的类型和所需的详细信息。typeString(32)必填付款方式:- scheme 国际信用卡支付
- 本地支付方式 可选值:Non-Hosted支持的APM
actionObject必填要使用的付款方式的类型和所需的详细信息。typeString(32)必填本地支付方式·结果类型:- QR_CODE-二维码字符串,需要手动转换为二维码
- QR_URL-图片http协议URL或者base64图片
- PAYMENT_REDIRECT_URL-跳转链接
qrCodeString(32)可选本地支付方式·二维码字符串,需要手动转换为二维码qrUrlString可选本地支付方式·可能为图片http协议URL或者base64图片paymentRedirectUrlString可选本地支付方式·支付交易跳转链接
cardInfoObject可选支付信用卡信息cardLevelString(64)必填卡交易·卡级别cardTypeString必填卡交易·卡类型,枚举值:- DEBIT
- CREDIT
- CHARGE
- CARD
firstNameString必填持卡人名称,字符类型,不含特殊符号lastNameString必填持卡人姓,字符类型,不含特殊符号firstSixDigitsString(12)必填卡号前6位lastFourDigitsString(12)必填卡号后4位ipCountryString(4)必填用户交易国家isoCountryString必填发卡行国家issuringBankString必填发卡行isoCountryA2String按条件选国家二字码,符合iso3166标准paymentBrandString必填卡交易·卡品牌:VISA / Mastercard / American Express/ JCB / Discover
transactionIdString必填PingPong 交易流水号merchantTransactionIdString(64)必填网站交易流水号amountString(12)必填交易金额,精确位数和币种有关,请查询附录交易币种transactionTimeString(64)必填交易发起时间,时间戳transactionEndingTimeString(64)必填交易到达终态时间,时间戳currencyString(3)必填交易币种,ISO 4217 三位币种,具体支持币种⻅附件交易币种statusString(32)必填交易状态:状态幂等- SUCCESS-成功
- FAILED-失败
- PROCESSING-进行中
remarkString(255)可选商户扩展字段,可用于指定特定参数,会在响应体中原样返回requestIdString(64)必填唯一请求号,全局唯一exchangedAmountString可选换汇金额exchangedCurrencyString可选换汇币种tokenString(64)按条件选保存卡成功后返回的支付凭证,可用于后续基于 token 的支付场景。若首笔交易按 `CardOnFile` 交易模式处理,后续使用该 token 支付时也需继续传 `bizType=CardOnFile`。详见接入概览与方案选择captureDelayHoursint按条件选- 0表示立即capture
- -1表示手动capture,调用统一下单API成功之后还需要调用下预授权请款 ,本地支付不支持
payResultUrlString(255)按条件选商户自定义接收重定向的结果URL;3DS验证,银行在线转账或虚拟钱包之类支付方式时,最后需要重定向到商户指定的⻚面地址threeDContinueString(32)按条件选是否需要 3DS (验证处理使用⻛控插件对接的商户使用):- true:是
- false:否
threeDUnionParamsObject按条件选3DS 验证参数集合,当交易需要 3DS 验证处理的时 候,将该参数的返回值传入 PingPong 提供的插件 js指定的函数中(使用⻛控插件对接的商户使用)
请求报文示例
{
"accId": "2023082916070710253541",
"bizContent": {
"issuerInfo": {
"issuerResultMsg": "Approved or completed successfully",
"issuerResultCode": "00"
},
"remark": "Remark customer defined txt",
"transactionTime": "1714978654000",
"requestId": "PMT-LUC4VOQM381714978651450",
"merchantTransactionId": "PMT-LUC4VOQM381714978651450",
"currency": "USD",
"exchangedAmount": "100",
"exchangedCurrency": "USD",
"amount": "100.000000",
"authenticationInfo": {
"avsResult": "Unknown",
"cvvResult": "Y",
"threeDSecure": "N"
},
"cardInfo": {
"firstName": "James",
"isoCountryA2": "BE",
"lastName": "LeBron",
"lastFourDigits": "1002",
"cardLevel": "",
"paymentBrand": "MASTERCARD",
"cardType": "CREDIT",
"issuringBank": "",
"firstSixDigits": "520474",
"isoCountry": "BELGIUM"
},
"transactionEndingTime": "1714978655669",
"threeDUnionParams": {
"threeDContinue": "false"
},
"transactionId": "2024050650046394",
"threeDContinue": "false",
"paymentMethod": {
"type": "scheme"
},
"captureDelayHours": 0,
"status": "SUCCESS"
},
"clientId": "2023082916070710253",
"code": "000000",
"description": "Transaction succeeded",
"sign": "EFDF7C80DAD9EBB13C29E38D7A5BD57899E7C0B7C7414A45F718240381299B56",
"signType": "SHA256"
}