Adyen支付流程

1 篇文章 0 订阅
本文详细介绍了Adyen支付平台的支付流程,包括获取可用支付方式、发起支付请求和处理支付结果。流程涵盖POST请求的/paymentMethods和/payments端点,以及如何处理支付详情,涉及多种支付方式如信用卡、Alipay等,并展示了响应参数和示例。
摘要由CSDN通过智能技术生成

Adyen支付流程

流程图:

在这里插入图片描述

第一步:拉取可用付款方式列表

根据交易环境(例如金额,国家和货币)查询交易的可用付款方式。除了提供可用付款方式的列表之外,响应还返回您需要从购物者那里收集(要提交给/payments)的哪些输入详细信息。

尽管我们强烈建议使用此端点来确保您始终提供最新的付款方式列表,但其用法是可选的。例如,您还可以缓存/paymentMethods响应并每周更新一次。

请求:

请求URL:

/paymentMethods

请求方式:

POST

请求参数:
参数名称必填字段类型描述
merchantAccountString商家帐户名称。 在首页的Account=>Merchant accounts菜单里面添加。
amount对象交易的金额信息(以小单位表示)。对于BIN或卡验证请求,设置amount为0(零)。
+currencyString三个字符的ISO货币代码,比如:CNY、USD等等。 可以在https://docs.adyen.com/development-resources/currency-codes这个界面查看支持的币种
+valueInteger交易的金额,以小单位表示
channelString支付交易发生的平台。此字段可用于过滤只在特定平台上可用的支付方法。可选的值有: Web iOS Android
countryCodeString购物者的国家代码。比如:HK,US
shopperLocaleString语言代码和国家代码的组合,以指定在支付中使用的语言。比如:en-US
additionalDataObject此字段包含额外的数据,可能需要特定的支付请求。additionalData对象由条目组成,每个条目都包含键和值。(PS:暂时不知道用途)
allowedPaymentMethods[String]array对购物者展示的支付方法列表 例如: “allowedPaymentMethods”:[“ideal”,“giropay”,“alipay”] (PS:这个应该是选择我们支持哪些支付展示给用户看)
blockedPaymentMethods[String]array对购物者隐藏的支付方法列表,含义与allowedPaymentMethods相反
orderObject包含部分付款所需的订单信息。(PS:暂时不知道用途)
+orderDataString加密的订单数据。
+pspReferenceString属于订单的pspReference。
shopperReferenceString惟一标识该购物者的引用(例如,用户ID或帐户ID)。最小长度:3个字符。
经常付款需要这个领域。
splitCardFundingSourcesBoolean布尔值,指示信用卡支付方式是否应该分为单独的借记卡和信用卡选项。(PS:暂时不知道用途)
storeString为其处理付款的实体商店。(PS:应该用不上)
例子:
{
    "amount":{
        "currency":"CNY",
        "decimalValue":9.99,  //请求里面不包含这个的
        "value":999 
    },
    "channel":"WEB",
    "countryCode":"HK",
    "merchantAccount":"BaomihuaECOM",
    "shopperLocale":"en-US",
    "shopperReference":"SparkJava Checkout Shopper",
    "splitCardFundingSources":false
}

响应:

响应参数:
参数名称参数类型描述
paymentMethods[对象]array付表格所需的支付方法的详细列表。
+brandString所选购物卡的品牌。例如:visa,mc。
+brands[String]array可能的品牌列表。例如:visa, mc。
+configurationObject支付方式的配置。
+fundingSourceString付款方式的资金来源。
+nameString此支付方法的可显示名称。
+typeString唯一的支付方式代码
+details[InputDetail]Array还可以递归地提供输入细节。
++details[SubInputDetail]Array还可以递归地提供输入细节。子类结构与details一样
++configurationObject配置所需输入的参数。
++itemSearchUrlString在选择的情况下,从其中查询项目的URL。
++keyString要在结果中提供的值
++optionalBoolean如果此输入是可选提供的,则为True。
++typeString所需输入的类型。
++valueString如果可用,可以预填充该值。
++items[Item]Array在选择的情况下,要从中选择的项。
+++idString要在结果中提供的值。
+++nameString显示名称。
++groupObject该支付方法所属的组。
+++nameString组名。
+++paymentMethodDataString如果支付方法显示为该组的一部分,则返回要使用的数据。
+++typeString集团的唯一代码。
storedPaymentMethods[对象]array所有存储的支付方法的列表。
+brandString卡的品牌。
+expiryMonthString信用卡过期的月。
+expiryYearString信用卡过期的年。
+holderNameString唯一的支付方式代码。
+idString这个存储的支付方法的唯一标识符。
+lastFourStringPAN的后四位。
+nameString存储的支付方法的显示名称。
+shopperEmailString购物者的电子邮件地址。
+typeString付款方式类型。
+supportedShopperInteractions[String]Array此存储的付款方式支持的购物者互动。
例子:
{ 
    "paymentMethods":[ 
        { 
            "brands":[ 
                "visa", 
                "mc", 
                "amex", 
                "cup", 
                "diners", 
                "discover", 
                "jcb", 
                "maestro" 
            ], 
            "details":[ 
                { 
                    "key":"number", 
                    "type":"text" 
                }, 
                { 
                    "key":"expiryMonth", 
                    "type":"text" 
                }, 
                { 
                    "key":"expiryYear", 
                    "type":"text" 
                }, 
                { 
                    "key":"cvc", 
                    "type":"text" 
                }, 
                { 
                    "key":"holderName", 
                    "optional":true, 
                    "type":"text" 
                } 
            ], 
            "name":"Credit Card", 
            "type":"scheme" 
        }, 
        { 
            "name":"AliPay", 
            "type":"alipay" 
        }, 
        { 
            "name":"UnionPay", 
            "type":"unionpay" 
        }, 
        { 
            "configuration":{ 
                "merchantId":"1000", 
                "merchantName":"Merchant Name" 
            }, 
            "details":[ 
                { 
                    "key":"applepay.token", 
                    "type":"applePayToken" 
                } 
            ], 
            "name":"Apple Pay", 
            "type":"applepay" 
        }, 
        { 
            "name":"POLi", 
            "type":"poli" 
        }, 
        { 
            "brand":"svs", 
            "details":[ 
                { 
                    "key":"number", 
                    "type":"text" 
                }, 
                { 
                    "key":"expiryMonth", 
                    "optional":true, 
                    "type":"text" 
                }, 
                { 
                    "key":"expiryYear", 
                    "optional":true, 
                    "type":"text" 
                }, 
                { 
                    "key":"cvc", 
                    "optional":true, 
                    "type":"text" 
                }, 
                { 
                    "key":"holderName", 
                    "optional":true, 
                    "type":"text" 
                } 
            ], 
            "name":"SVS", 
            "type":"giftcard" 
        } 
    ] 
} 

第二步:付款

发送付款参数(例如金额,国家和货币)以及从购物者那里收集的其他必需的输入详细信息

  • 对于直接流,响应包括带有付款结果的apspReference和a resultCode,例如AuthorizedRefused

  • 对于重定向或其他操作,响应包含一个action对象。

请求:

请求URL:

/payments

请求方式:

POST

请求参数:
参数名称必填字段类型描述
amount对象交易的金额信息(以小单位表示)。 对于BIN或卡验证请求,设置amount为0(零)。
+currencyString三个字符的ISO货币代码。
+valueInteger交易的金额,以小单位表示。
merchantAccountString商家帐户标识符,用于处理交易。
paymentMethod对象要使用的支付方法的类型和所需的详细信息。
referenceString唯一标识支付的引用。 此参考是用于与您有关支付状态的所有沟通。 我们建议每次支付使用一个独特的价值; 然而,这并不是一项要求。 如果需要为一个事务提供多个引用,请使用连字符("-")分隔它们。 最大长度:80个字符。
returnUrlString重定向时要返回的URL。格式取决于通道。该URL最大长度为1024个字符。 对于web,包括http://或https://协议 您还可以包含您自己的其他查询参数,例如,购物者ID或订单引用号。 例如:https://your-company.com/checkout?shopperOrder=12xy 对于iOS,使用自定义URL为您的应用程序。要了解更多关于设置自定义URL方案,请参考苹果开发人员文档。 例子:myapp:// 对于Android,使用一个由Activity处理的自定义URL。你可以通过一个intent filter来配置它。 例子:my-app://your.package.name
accountInfo对象3D Secure 2的购物者账户信息。
additionalData[对象]Array此字段包含额外的数据,可能需要特定的支付请求。 additionalData对象由条目组成,每个条目都包含键和值。
applicationInfo对象关于你的申请的信息。 有关详细信息,请参见构建Adyen解决方案。
billingAddress对象寄发票的地址。 对于3D Secure 2交易,方案要求所有基于浏览器和移动实现的billingAddress。 包含该对象中的所有字段
browserInfo对象购物者的浏览器信息 对于 3D Secure,完整的对象是需要的web集成。 对于移动应用集成,包括userAgent和acceptHeader字段,以表明如果支付路由到3D Secure 1,您的集成可以支持重定向。
captureDelayHoursInteger授权和预定自动捕获之间的延迟,以小时为单位。
channelString支付交易发生的平台。 此字段是可选的,用于过滤只在特定平台上可用的支付方法。 如果这个值没有设置,那么我们将尝试从sdkVersion或token推断它。 可能的值: iOS Android Web
company对象关于公司的信息。
conversionIdString与跟踪用户支付旅程所生成的ID相对应的转换ID。
countryCodeString购物者的国家。格式:ISO 3166-1 alpha-2例如:NL或DE
dateOfBirthString购物者的出生日期。格式iso - 8601: YYYY-MM-DD
dccQuoteString在外汇服务的响应中返回的外汇报价。
deliveryAddress对象所购货物应送达的地址。
deliveryDateString所购货物交付的日期和时间。格式ISO 8601: YYYY-MM-DDThh:mm:ss.sssTZD例如:2017 - 07 - 17 t13:42:40.428 + 01:00
deviceFingerprintString包含购物者的设备指纹的字符串。 更多信息请参考设备指纹。
enableOneClickBoolean当为true并且提供了shopperReference时,将询问购物者是否应该存储支付详细信息以供未来的一键支付。
enablePayOutBooleanshopperReference设为true并提供时,付款明细将标记为付款。
enableRecurringBoolean如果为true且shopperReference提供,则将对分期付款的付款细节进行标记。
redirectToIssuerMethodString指定重定向到发行方时的重定向方法(GET或POST)
redirectFromIssuerMethodString从发行者重定向回时,指定重定向方法(GET或POST)。
metadata[String]Array元数据由条目组成,每个条目包含一个键和一个值。 限制: 每个请求最多20个键值对。 超过时,出现177错误:“元数据大小超过限制”。 每个键最多20个字符。 每个值最多80个字符。
order对象包含部分付款所需的订单信息。
shopperEmailString购物者的电子邮件地址。 我们建议您提供此数据,因为它用于速度欺诈检查。
shopperIPString购物者的IP地址。 一般来说,我们建议您提供此数据,因为它用于许多风险检查(例如,尝试支付的次数或基于位置的检查)。
shopperLocaleString语言代码和国家代码的组合,以指定在支付中使用的语言。
shopperReferenceString惟一标识该购物者的引用(例如,用户ID或帐户ID)。 最小长度:3个字符。(PS:付款成功的additionalData返回里面会带回来)
storePaymentMethodBoolean当true和shopperReference被提供时,支付细节将被存储。
更多参数请查阅api文档,地址:https://docs.adyen.com/api-explorer/#/CheckoutService/v66/post/payments__reqParam_paymentMethod-VippsDetails-recurringDetailReference
例子:
{ 
    "amount":{ 
        "currency":"CNY", 
        "decimalValue":0.1, 
        "value":10 
    }, 
    "applicationInfo":{ 
        "adyenLibrary":{ 
            "name":"adyen-java-api-library", 
            "version":"13.1.0" 
        } 
    }, 
    "channel":"WEB", 
    "countryCode":"CN", 
    "merchantAccount":"BaomihuaECOM", 
    "paymentMethod":{ 
        "type":"alipay" 
    }, 
    "reference":"9b01fb21-16fd-4e4e-b983-24eff2e7dee0", 
    "returnUrl":"http://localhost:8080/api/handleShopperRedirect?orderRef=9b01fb21-16fd-4e4e-b983-24eff2e7dee0", 
    "shopperReference":"12694261115541" 
}

响应:

响应参数:
参数名称参数类型描述
action对象为完成付款而采取的行动
additionalData【String】array包含关于付款的附加信息。 只有在您首先选择某些数据字段时,才会包含它们 去Customer Area > Account > API URLs > Additional data 设置
amount对象交易中的授权金额。
merchantReferenceString唯一标识支付的引用。 此参考是用于与您有关支付状态的所有沟通。 我们建议每次支付使用一个独特的价值; 然而,这并不是一项要求。 如果需要为一个事务提供多个引用,请使用连字符("-")分隔它们。 最大长度:80个字符。(订单号)
order对象在请求中提供了订单信息的情况下,包含有关订单的更新信息。
pspReferenceStringAdyen与事务/请求关联的16个字符的字符串引用。 这个值是全局唯一的; 报价时,与我们沟通这个要求。
refusalReasonString如果付款的授权被拒绝或在授权期间发生错误,这个字段保存Adyen的拒绝原因映射或错误描述。 当事务失败时,授权响应包括resultCode和refusalReason值。 有关更多信息,请参见Refusal reasons.。
refusalReasonCodeString指明拒绝理由的代码。有关更多信息,请参阅 Authorisation refusal reasons.
resultCodeString付款的结果。 有关更多信息,请参见Result codes.
例子:
{ 
    "3DAuthenticated":false, 
    "3DOffered":false, 
    "action":{ 
        "method":"GET", 
        "paymentMethodType":"alipay", 
        "resendInterval":0, 
        "resendMaxAttempts":0, 
        "type":"redirect", 
        "url":"https://checkoutshopper-test.adyen.com/checkoutshopper/checkoutPaymentRedirect?redirectData=X6XtfGC3%21eyJHbHVlcGFnZURhdGEiOnsiYnJhbmRDb2RlIjoiYWxpcGF5IiwibWVyY2hhbnRBY2NvdW50IjoiQmFvbWlodWFFQ09NIiwicmVkaXJlY3RQYXltZW50RGF0YSI6eyJhY3F1aXJlckFjY291bnRJZCI6MTA5NzgyLCJhbW91bnQiOnsiY3VycmVuY3kiOiJDTlkiLCJ2YWx1ZSI6MTB9LCJhcGlWZXJzaW9uIjo2NywiYXBwbGljYXRpb25JbmZvIjp7ImFkeWVuTGlicmFyeSI6eyJuYW1lIjoiYWR5ZW4tamF2YS1hcGktbGlicmFyeSIsInZlcnNpb24iOiIxMy4xLjAifX0sImJyYW5kQ29kZSI6ImFsaXBheSIsImNoZWNrb3V0Q2hhbm5lbCI6IldlYiIsImNvdW50cnlDb2RlIjoiQ04iLCJtZXJjaGFudEFjY291bnQiOiJCYW9taWh1YUVDT00iLCJtZXJjaGFudFJlZmVyZW5jZSI6IjliMDFmYjIxLTE2ZmQtNGU0ZS1iOTgzLTI0ZWZmMmU3ZGVlMCIsIm9yaWdpbmFsUHNwUmVmZXJlbmNlIjoiODgxNjE5Njc4MDQ1NzMzRCIsInBhbFJlc3VsdFBzcFJlZmVyZW5jZSI6Ijg1MzYxOTY3ODA0NTkxNUYiLCJyZXF1ZXN0QWRkaXRpb25hbERhdGEiOnsiYXBwbGljYXRpb25JbmZvLmxpYnJhcnlWZXJzaW9uIjoiMTMuMS4wIiwibWVyY2hhbnRJbnRlZ3JhdGlvbi52ZXJzaW9uIjoiNjciLCJhcHBsaWNhdGlvbkluZm8ubGlicmFyeU5hbWUiOiJhZHllbi1qYXZhLWFwaS1saWJyYXJ5IiwibWVyY2hhbnRJbnRlZ3JhdGlvbi50eXBlIjoiQ0hFQ0tPVVRfR0VORVJJQyIsInJldHVyblVybCI6Imh0dHBzOlwvXC9jaGVja291dHNob3BwZXItdGVzdC5hZHllbi5jb21cL2NoZWNrb3V0c2hvcHBlclwvY2hlY2tvdXRQYXltZW50UmV0dXJuP2dwaWQ9R1A0NjQwNkU2Q0U1MzdCNDdGIiwicGxhdGZvcm0iOiJBbGlQYXlGWFRlc3QifSwicmV0dXJuVXJsIjoiaHR0cHM6XC9cL2NoZWNrb3V0c2hvcHBlci10ZXN0LmFkeWVuLmNvbVwvY2hlY2tvdXRzaG9wcGVyXC9jaGVja291dFBheW1lbnRSZXR1cm4%2FZ3BpZD1HUDQ2NDA2RTZDRTUzN0I0N0YiLCJzZWxlY3RlZEJyYW5kIjoiYWxpcGF5Iiwic2hvcHBlclJlZmVyZW5jZSI6IkphdmEgQ2hlY2tvdXQgU2hvcHBlciIsInNraW5Db2RlIjoicHViLnYyLjgwMTYxOTQ5MzY0MTAxMzAuMWpxYVJDZ2lWU0RRNU03bEIzQTllSUZSWnpxWHhfOFlYM1ZUY3BJTlBKVSJ9LCJyZWRpcmVjdFVybCI6Imh0dHBzOlwvXC9vcGVuYXBpLmFsaXBheWRldi5jb21cL2dhdGV3YXkuZG8%2FX2lucHV0X2NoYXJzZXQ9VVRGOCZib2R5PTliMDFmYjIxLTE2ZmQtNGU0ZS1iOTgzLTI0ZWZmMmU3ZGVlMCZjdXJyZW5jeT1VU0Qmbm90aWZ5X3VybD1odHRwcyUzQSUyRiUyRnRlc3QuYWR5ZW4uY29tJTJGaHBwJTJGbm90aWZpY2F0aW9uQWxpUGF5RlhUZXN0LnNodG1sJTNGcyUzRHB1Yi52Mi44MDE2MTk0OTM2NDEwMTMwLjFqcWFSQ2dpVlNEUTVNN2xCM0E5ZUlGUlp6cVh4XzhZWDNWVGNwSU5QSlUlMjZtJTNEQmFvbWlodWFFQ09NJm91dF90cmFkZV9ubz1BbGlQYXlGWFRlc3QlM0E4NTM2MTk2NzgwNDU5MTVGJTNBMTA5NzgyJnBhcnRuZXI9MjA4ODEwMTEyMjEzNjI0MSZyZWZlcl91cmw9aHR0cHMlM0ElMkYlMkZ3d3cuYWR5ZW4uY29tJTJGJnJldHVybl91cmw9aHR0cHMlM0ElMkYlMkZjaGVja291dHNob3BwZXItdGVzdC5hZHllbi5jb20lMkZjaGVja291dHNob3BwZXIlMkZjaGVja291dFBheW1lbnRSZXR1cm4lM0ZncGlkJTNER1A0NjQwNkU2Q0U1MzdCNDdGJnJtYl9mZWU9MC4xMCZzZWNvbmRhcnlfbWVyY2hhbnRfaWQ9QmFvbWlodWFFQ09NJnNlY29uZGFyeV9tZXJjaGFudF9pbmR1c3RyeT04OTk5JnNlY29uZGFyeV9tZXJjaGFudF9uYW1lPUJhb21paHVhRUNPTSZzZXJ2aWNlPWNyZWF0ZV9mb3JleF90cmFkZSZzaWduPTM1YjNkZWExZTQyNDdlNGQ3YmNkZTRmZDY4ZDBjMWE1JnNpZ25fdHlwZT1NRDUmc3ViamVjdD05YjAxZmIyMS0xNmZkLTRlNGUtYjk4My0yNGVmZjJlN2RlZTAmc3VwcGxpZXI9QmFvbWlodWFFQ09NIiwicmV0dXJuVXJsIjoiaHR0cDpcL1wvbG9jYWxob3N0OjgwODBcL2FwaVwvaGFuZGxlU2hvcHBlclJlZGlyZWN0P29yZGVyUmVmPTliMDFmYjIxLTE2ZmQtNGU0ZS1iOTgzLTI0ZWZmMmU3ZGVlMCJ9fQ%3D%3DrcJiiOxlakrNqUCHoXmIjijmdfsJS%2FqhWvg9MFbwI7U%3D" 
    }, 
    "resultCode":"redirectshopper" 
}

第三步:继续付款

提交有关使用创建的付款的详细信息/payments。仅当/payments请求的最终状态尚未达到时(例如,购物者被重定向到另一页以完成付款),才需要执行此步骤。

请求:

请求URL:

/payments/details

请求方式:

POST

请求参数:
参数名称必填字段类型描述
details对象使用此集合提交作为/payments调用结果返回的详细信息。
+MDString由发卡机构返回的支付会话标识符。
+PaReqString(3D)发卡机构的支付认证请求数据。
+PaResString(3D)发卡机构的支付认证响应数据。
+billingTokenString用于经常性支付的paypal生成代币。
+ cupsecureplus.smscodeString从购物者那里收集到的短信验证码。
+facilitatorAccessTokenStringpaypal生成的第三方访问令牌。
+oneTimePasscodeString发送到购物者的手机号码以验证付款的随机数字。
+orderIDStringpaypal指定的订单ID。
+payerIDStringpaypal为付款人(购物者)分配的ID。
+payloadString作为重定向结果附加到returnURL的有效负载。
+paymentIDStringpaypal生成的支付ID。
+paymentStatusString从微信MiniProgram wx.requestPayment完成回调传递的值。 取值范围:以requestPayment:开头的任意值。
+redirectResultString重定向的结果被附加到returnURL
+ threeds2.fingerprintString组件在询问流之后返回的base64编码的字符串。 它包含以下参数:threeDSCompInd。
+ threeds2.challengeResultString组件在询问流之后返回的base64编码的字符串。 包含transStatus参数。
+threeDSResultString组件在询问流之后返回的base64编码的字符串。 包含transStatus、authorisationToken。
paymentDataString来自/payments响应的paymentData值。如果/payment响应返回此值则为必需。在v67及以后的版本中,您将总是从组件中获得这个值。
例子:
{ 
    "details":{ 
        "redirectResult":"X6XtfGC3!eyJyZWRpcmVjdFBheW1lbnREYXRhIjp7ImFjcXVpcmVyQWNjb3VudElkIjoxMDk3ODIsImFtb3VudCI6eyJjdXJyZW5jeSI6IkNOWSIsInZhbHVlIjoxMH0sImFwaVZlcnNpb24iOjY3LCJhcHBsaWNhdGlvbkluZm8iOnsiYWR5ZW5MaWJyYXJ5Ijp7Im5hbWUiOiJhZHllbi1qYXZhLWFwaS1saWJyYXJ5IiwidmVyc2lvbiI6IjEzLjEuMCJ9fSwiYnJhbmRDb2RlIjoiYWxpcGF5IiwiY2hlY2tvdXRDaGFubmVsIjoiV2ViIiwiY291bnRyeUNvZGUiOiJDTiIsIm1lcmNoYW50QWNjb3VudCI6IkJhb21paHVhRUNPTSIsIm1lcmNoYW50UmVmZXJlbmNlIjoiMjc1M2E3NjktZTAzZS00NjA1LThkYWUtYzk5NzExNDUzYThhIiwib3JpZ2luYWxQc3BSZWZlcmVuY2UiOiI4ODE2MTk2NzgyNjA2MjVLIiwicGFsUmVzdWx0UHNwUmVmZXJlbmNlIjoiODgzNjE5Njc4MjYwODU3RSIsInJlcXVlc3RBZGRpdGlvbmFsRGF0YSI6eyJhcHBsaWNhdGlvbkluZm8ubGlicmFyeVZlcnNpb24iOiIxMy4xLjAiLCJtZXJjaGFudEludGVncmF0aW9uLnZlcnNpb24iOiI2NyIsImFwcGxpY2F0aW9uSW5mby5saWJyYXJ5TmFtZSI6ImFkeWVuLWphdmEtYXBpLWxpYnJhcnkiLCJtZXJjaGFudEludGVncmF0aW9uLnR5cGUiOiJDSEVDS09VVF9HRU5FUklDIiwicmV0dXJuVXJsIjoiaHR0cHM6XC9cL2NoZWNrb3V0c2hvcHBlci10ZXN0LmFkeWVuLmNvbVwvY2hlY2tvdXRzaG9wcGVyXC9jaGVja291dFBheW1lbnRSZXR1cm4/Z3BpZD1HUDlBRDNFNDdGOTkxN0JBQzMiLCJwbGF0Zm9ybSI6IkFsaVBheUZYVGVzdCJ9LCJyZXR1cm5VcmwiOiJodHRwczpcL1wvY2hlY2tvdXRzaG9wcGVyLXRlc3QuYWR5ZW4uY29tXC9jaGVja291dHNob3BwZXJcL2NoZWNrb3V0UGF5bWVudFJldHVybj9ncGlkPUdQOUFEM0U0N0Y5OTE3QkFDMyIsInNlbGVjdGVkQnJhbmQiOiJhbGlwYXkiLCJzaG9wcGVyUmVmZXJlbmNlIjoiSmF2YSBDaGVja291dCBTaG9wcGVyIiwic2tpbkNvZGUiOiJwdWIudjIuODAxNjE5NDkzNjQxMDEzMC4xanFhUkNnaVZTRFE1TTdsQjNBOWVJRlJaenFYeF84WVgzVlRjcElOUEpVIn0sInJldHVyblVybFBhcmFtcyI6eyJvdXRfdHJhZGVfbm8iOiJBbGlQYXlGWFRlc3Q6ODgzNjE5Njc4MjYwODU3RToxMDk3ODIiLCJ0b3RhbF9mZWUiOiIwLjAyIiwidHJhZGVfc3RhdHVzIjoiVFJBREVfRklOSVNIRUQiLCJzaWduIjoiYzI3ZWI5Nzc1YTJiZDUyYTExMGY5ZGU5M2MxZTBjNzgiLCJ0cmFkZV9ubyI6IjIwMjEwNDI5MjIwMDEzNTg3NTA1MDEzOTc1ODAiLCJjdXJyZW5jeSI6IlVTRCIsInNpZ25fdHlwZSI6Ik1ENSJ9fQ==CSUOdt995jlxCLAua2J7ieyT5HJN9IZmpI1ny8vInzE=" 
    } 
}

响应:

响应参数:
参数名称参数类型描述
action对象为完成付款而采取的行动。只有3D安全行动是需要在大多数情况下返回。
additionalData对象包含关于付款的附加信息。 只有在您先选择某些数据字段时,才会包含它们,去设置:Customer Area > Account > API URLs > Additional data
amountAmount交易中的授权金额。
paymentMethodString交易中使用的支付方式。
pspReferenceStringAdyen与事务/请求关联的16个字符的字符串引用。 这个值是全局唯一的; 报价时,与我们沟通这个要求。
shopperLocaleString购物者的地址
resultCodeString付款的结果。 有关更多信息,请参见Result codes.
refusalReasonCodeString指明拒绝理由的代码。 有关更多信息,请参见Authorisation refusal reasons.
refusalReasonString如果付款的授权被拒绝或在授权期间发生错误,这个字段保存Adyen的拒绝原因映射或错误描述。 当事务失败时,授权响应包括resultCode和refusalReason值。 有关更多信息,请参见Refusal reasons.
merchantReferenceString在/付款请求期间使用的引用(订单号)
例子:
{ 
    "3DAuthenticated":false, 
    "3DOffered":false, 
    "additionalData":{ 
        "Alipay.OutTradeNo":"AliPayFXTest:883619678260857E:109782", 
        "Alipay.BuyerEmail":"san***@alipay.com", 
        "Alipay.BuyerId":"2088102144158754", 
        "Alipay.TradeNo":"2021042922001358750501397580" 
    }, 
    "amount":{ 
        "currency":"CNY", 
        "decimalValue":0.1, 
        "value":10 
    }, 
    "merchantReference":"2753a769-e03e-4605-8dae-c99711453a8a", 
    "pspReference":"883619678260857E", 
    "resultCode":"authorised" 
}
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值