API Only
注意
Non-Hosted模式下卡支付必须接入风控组件
POST
Request Body Parameters
application/json公共请求参数
bizContent
threeDSRequestDataString按条件选3DS验证请求参数。沙箱mock规则使用"merchantUserId": "USER_12345"触发强制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 解密后消息体中的messageIdpaymentMethodString可选google 解密后消息体中的paymentMethodpaymentMethodDetailsObject必填google 解密后消息体中的paymentMethodDetailsauthMethodString必填google 解密后消息体中的authMethodexpirationMonthString必填google 解密后消息体中的expirationMonthexpirationYearString必填google 解密后消息体中的expirationYearpanString必填google 解密后消息体中的panassuranceDetailsObject可选google 解密后消息体中的assuranceDetailsaccountVerifiedString必填google 解密后消息体中的accountVerifiedcardHolderAuthenticatedString必填google 解密后消息体中的cardHolderAuthenticated
wxOpenIdString按条件选微信开放平台中的唯一标识wxAppIdString按条件选微信小程序ID
customerObject按条件选客户信息。虚拟数娱行业非必传firstNameString(24)按条件选用户名称lastNameString(24)按条件选用户姓氏emailString(128)按条件选phoneString(20)按条件选用户联系电话birthDateString(10)按条件选出生日期,格式为YYYY-MM-DDidentificationTypeString(20)按条件选用户身份证件类型(特定国家需要,如墨西哥)identificationIdString(20)按条件选用户身份证件号码(特定国家需要,如墨西哥)phoneCountryCodeString(20)按条件选电话号码的国家代码或国际区号(不需要加特殊符号)accountNumberString按条件选银行账号domesticCardNumberString按条件选本地卡号,示例值:9704198526191432198domesticCardIssuingDateString按条件选本地卡发行日期,示例值:07/15domesticCardExpireMonthString按条件选本地卡到期月份,示例值:10domesticCardExpireYearString按条件选本地卡到期年份,示例值:25
goodsArray必填商品信息nameString(128)必填商品名称descriptionString(255)可选商品描述skuString(255)可选商品编号,产品SKUunitPriceString(12)必填商品单价unitTaxAmountString按条件选单个商品税费,订单总金额包含税费时必填taxRateString可选税率,非必填totalDiscountAmountString按条件选单个商品总优惠金额,订单总金额涉及优惠时必填numberString(12)必填商品购买数量imgUrlString(255)必填商品主图链接virtualProductString(1)可选是否是虚拟产品,虚拟商品(Y/N)itemTypeString(1)可选商品类型,枚举值:1/2/3,对应含义入下:- 1、DIGITAL:数字商品
- 2、PHYSICAL:实物商品
- 3、SERVICE:服务
shippingAddressObject按条件选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)
- 06-微信小程序
- 09-二维码
recurringInfoObject按条件选订阅信息,当前适用于Apple Pay 订阅支付recurringPaymentStartDateString必填首次周期性扣款日期,对应 Apple Pay 的 first payment daterecurringPaymentIntervalUnitString必填扣费间隔单位,对应 Apple Pay 的 calendar unit(如 day、month、year)recurringPaymentIntervalCountString必填一个完整账单周期包含的间隔单位数量recurringPaymentEndDateString必填最后一次周期性扣款日期,对应 Apple Pay 的 final payment date
merchantRiskIndicatorObject可选商户风险补充信息对象,用于补充预售/未来履约交易信息preOrderPurchaseBoolean按条件选是否为预售/未来履约交易。示例值:truepreOrderTypeString(64)按条件选预售/未来履约类型,preOrderPurchase=true时必填。示例值:futureServiceBooking。枚举值如下:presaleBeforeRelease:未正式发售前的预售madeToOrder:下单后才开始生产/备货backorderRestock:缺货后接受预订,待补货后履约crowdfundingFulfillment:众筹达成后再履约digitalDelayedDelivery:数字商品/数字权益未来交付futureServiceBooking:未来某个时间履约的服务预约
preOrderEstimatedDeliveryDateString(10)按条件选商户承诺的预计交付日期,preOrderPurchase=true时必填。时间戳格式,单位:秒,示例值:1683530496
captureDelayHoursint必填- 0表示立即capture
- -1表示手动capture,调用统一下单API成功之后还需要调用下预授权请款 ,本地支付不支持
timeExpireString(10)可选关单时间。3分钟到10天(低于3分钟默认取3分钟,高于10天默认取10天)时间戳格式,单位:秒,示例值:1683530496amountString(12)必填交易金额说明:- 交易合规要求:支付金额必须严格等于计算公式,详见金额格式
- 精确位数:和币种有关,请查询附录交易币种
- 计算公式:sum(unitPrice × number) + shippingFee + sum(unitTaxAmount × number) - sum(totalDiscountAmount)
- Klarna 特殊规则:
- 商品总价必须等于支付金额:sum(goods.unitPrice × goods.number) = amount
- 运费请添加 shipping-fee 商品项(name 和 description 都设置为 shipping-fee)
currencyString(3)必填交易币种,ISO 4217 三位币种,具体支持币种⻅附录交易币种merchantTransactionIdString(64)必填商户网站订单流水号,订单唯一标识,可用于后续订单查询和对账payResultUrlString(255)按条件选商户自定义接收重定向的结果URL;3DS验证,银行在线转账或虚拟钱包之类支付方式时,最后需要重定向到商户指定的⻚面地址merchantRequestBillDescriptorString(22)可选商家自定义动态账单描述,最长 22 个字符;仅允许英文字母、数字、空白字符及英文符号, . ( ) - / :,不允许中文或其他特殊符号。不同渠道侧可能会做适当截取。bizTypeString(12)按条件选`CardOnFile` 交易模式标识。无论 Hosted 还是 Non-Hosted,首笔绑卡并支付且需按 `CardOnFile` 交易模式处理时传固定值 `CardOnFile`;若首次生成 token 时传入了该值,则后续使用该 token 复购时也需继续传入。普通保存卡交易或仅校验卡号/卡要素时无需传此参数(使用这个值请联系技术支持)- CardOnFile:卡号绑定的复购交易
- Recurring:订阅/周期扣款的后续 MIT 扣款交易,需配合 `primaryMerchantTransactionId` 使用
primaryMerchantTransactionIdString(64)按条件选首次授权成功交易对应的 `merchantTransactionId`。仅 `bizType=Recurring` 的后续 MIT 扣款必传,用于关联首次授权交易merchantUserIdString(256)按条件选参数含义:商户网站的用户ID,全局唯一
商户类型必传规则:- 实物商户:可选
- 游戏虚拟类:与 customer.email 必填其一
- 其他虚拟类:与 customer.email 必填其一
- 保存卡/记住卡号场景:必填,商户网站的持卡人 ID,用于标识对应持卡人身份并关联其已保存卡信息
- CardOnFile 交易模式:必填,商户网站的持卡人 ID,用于标识对应持卡人身份并关联其已保存卡信息
- 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。详见附录收银台支持语言列表jsGeneratedDataString(256)按条件选卡支付必须接入风控组件, 卡支付需要传, 若获取失败,可传空字符串,不阻塞支付流程。通过嵌入pingpong提供的风控组件,获取浏览器相关信息的json字符串,传到这个参数中。使用⻛控插件对接的商户使用,详见3DS集成指南
其他参数
请求报文示例
{
"accId": "2018092714313010016291",
"clientId": "2018092714313010016",
"signType": "SHA256",
"sign": "898A3CBE981B3E2BF4E2B8D1A817D7E23EF93BC4293993EE545E36F4C87F2E79",
"version": "1.0",
"bizContent": {
"timeExpire": "",
"paymentMethod": {
"type": "scheme"
},
"tradeCountry": "",
"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",
"merchantRiskIndicator": {
"preOrderPurchase": true,
"preOrderType": "futureServiceBooking",
"preOrderEstimatedDeliveryDate": "1683530496"
},
"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
extraParamObject按条件选扩展参数对象,包含支付方式特定的参数wxTimeStampString可选时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间📱 微信小程序:仅在device.orderTerminal=06且使用微信小程序支付时返回wxNonceStrString(32)可选随机字符串,长度为32个字符以下📱 微信小程序:仅在device.orderTerminal=06且使用微信小程序支付时返回wxPackageString可选统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=***📱 微信小程序:仅在device.orderTerminal=06且使用微信小程序支付时返回wxSignTypeString可选签名算法,默认为 RSA📱 微信小程序:仅在device.orderTerminal=06且使用微信小程序支付时返回wxPaySignString可选签名,具体见微信支付文档📱 微信小程序:仅在device.orderTerminal=06且使用微信小程序支付时返回
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",
"extraParam": {
"wxTimeStamp": "1695182276",
"wxNonceStr": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
"wxPackage": "prepay_id=wx20230920123456789012345",
"wxSignType": "RSA",
"wxPaySign": "ABC123DEF456GHI789JKL012MNO345PQR"
}
},
"clientId": "2023082916070710253",
"code": "000000",
"description": "Transaction succeeded",
"sign": "EFDF7C80DAD9EBB13C29E38D7A5BD57899E7C0B7C7414A45F718240381299B56",
"signType": "SHA256"
}