Translation disclaimer

Documentation is written in English and subsequently translated. This page, therefore, might not have the most up-to-date content. If any questions arise relating to the accuracy of the translated content, please refer to the English version of the page.

Menu

接受支付

若要接受支付,您必须首先创建一个授权请求。您的响应包含后续可用操作的链接。


授权支付

如果想在您的客户账户中预留资金,则可以向我们发送授权请求。

POST 您的授权请求至在查询支付根资源请求中收到的payments:authorize操作链接中,以便对支付授权。

授权示例请求

POST https://try.access.worldpay.com/payments/authorizations

以下请求包含成功的 授权请求所需的所有必需字段。完整请求架构可在我们的API 参考中查阅。

单击下表以查看全部支持的 paymentInstrument 参数的所有必需字段。

授权请求正文:

Copied!
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "MindPalaceLtd"
    },
    "instruction": {
        "narrative": {
            "line1": "Mind Palace"
        },
        "value": {
            "currency": "GBP",
            "amount": 250
        },
        "paymentInstrument": {
            "type": "card/plain",
            "cardNumber": "4444333322221111",
            "cardExpiryDate": {
                "month": 5,
                "year": 2035
            }
        }
    }
}
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "MindPalaceLtd"
    },
    "instruction": {
        "narrative": {
            "line1": "Mind Palace Ltd"
        },
        "value": {
            "currency": "GBP",
            "amount": 250
        },
        "paymentInstrument": {
            "type": "card/token",
            "href": "https://try.access.worldpay.com/tokens/{}"
        }
    }
}
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "MindPalaceLtd"
    },
    "instruction": {
        "narrative": {
            "line1": "Mind Palace Ltd"
        },
        "value": {
            "currency": "GBP",
            "amount": 250
        },
        "paymentInstrument": {
            "type": "card/wallet+applepay",
            "walletToken": "{
                \"version\": \"EC_v1\",
                \"data\": \"kdHd..GQ==\",
                \"signature\": \"MIAGCSqGSIb3DQEH...AAA\",
                \"header\": {
                    \"transactionId\": \"d3b28af..f8\",
                    \"ephemeralPublicKey\": \"MFkwE..Q==\",
                    \"publicKeyHash\": \"dxCK..6o=\" 
                }
            }"
        }
    }
}
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "MindPalaceLtd"
    },
    "instruction": {
        "narrative": {
            "line1": "Mind Palace Ltd"
        },
        "value": {
            "currency": "GBP",
            "amount": 250
        },
        "paymentInstrument": {
            "type": "card/wallet+googlepay",
            "walletToken": "{\"protocolVersion\":\"ECv2\",\"signature\":\"MEQCIH6Q4OwQ0jAceFEkGF0JID6sJNXxOEi4r+mA7biRxqBQAiAondqoUpU/bdsrAOpZIsrHQS9nwiiNwOrr24RyPeHA0Q\\u003d\\u003d\",\"intermediateSigningKey\":{\"signedKey\": \"{\\\"keyExpiration\\\":\\\"1542323393147\\\",\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/1+3HBVSbdv+j7NaArdgMyoSAM43yRydzqdg1TxodSzA96Dj4Mc1EiKroxxunavVIvdxGnJeFViTzFvzFRxyCw\\\\u003d\\\\u003d\\\"}\",\"signatures\": [\"MEYCIQCO2EIi48s8VTH+ilMEpoXLFfkxAwHjfPSCVED/QDSHmQIhALLJmrUlNAY8hDQRV/y1iKZGsWpeNmIP+z+tCQHQxP0v\"]},\"signedMessage\":\"{\\\"tag\\\":\\\"jpGz1F1Bcoi/fCNxI9n7Qrsw7i7KHrGtTf3NrRclt+U\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BJatyFvFPPD21l8/uLP46Ta1hsKHndf8Z+tAgk+DEPQgYTkhHy19cF3h/bXs0tWTmZtnNm+vlVrKbRU9K8+7cZs\\\\u003d\\\",\\\"encryptedMessage\\\":\\\"mKOoXwi8OavZ\\\"}\"}"
        }
    }
}

授权请求参数的描述

参数必需描述
transactionReference由您生成的独特参考号,用于在支付的整个生命周期中对其进行识别。请参见交易参考格式,了解更多详情和最佳实践。
merchant包含有关商户信息的对象。
merchant.entity确定您支付的方向,以协助开单、报告和对账。这对于身份验证和查询为必需。
请联系您的实施经理了解更多详情。
instruction包含与支付相关的所有信息的对象。
instruction.narrative出现在您的客户对账单上的文本。用于识别商户。
请参见商户落款格式,了解更多详情和最佳实践。
narrative.line1出现在您客户的对账单上的叙述文字的第一行(最多 24 个字符。如果不支持某个字符,则以空格代替)。
请参见商户落款line1格式,了解更多详情。
instruction.value包含有关支付值信息的对象。
value.currency三位数货币代码。
请参见支持的货币列表。
instruction.value包含有关支付值信息的对象。
value.amount支付金额。这是一个包含小数位的整数,e.g.,如果小数位是二,则 250 就表示 2.50.您可以在我们的货币表中查找相关小数位。
instruction.paymentInstrument包含支付类型和详情的对象。
若将 "Token" 用作 paymentInstrument,则您必须首先创建 Token
paymentInstrument.cardExpiryDate包含您的客户卡过期日期的对象。
对所有 "type": "card/plain" 请求为必需。
paymentInstrument.cardNumber包含您的客户卡号的对象。对 "type": "card/plain" 请求为必需。


3DS

3DS 授权请求参数描述

若要获得 customer 身份验证对象,您必须使用我们的3DS API填写身份验证请求

Copied!
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "MindPalaceLtd"
    },
    "instruction": {
        "narrative": {
            "line1": "Mind Palace Ltd"
        },
        "value": {
            "currency": "GBP",
            "amount": 250
        },
        "paymentInstrument": {
            "type": "card/plain",
            "cardNumber": "4444333322221111",
            "cardExpiryDate": {
                "month": 5,
                "year": 2035
            }
        }
    },
    "customer": {
        "authentication": {
            "version": "1.0.2",
            "type": "3DS",
            "eci": "05",
            "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
            "transactionId": "z9UKb06xLziZMOXBEmWSVA1kwG0="
        }
    }
}
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "MindPalaceLtd"
    },
    "instruction": {
        "narrative": {
            "line1": "trading name"
        },
        "value": {
            "currency": "GBP",
            "amount": 250
        },
        "paymentInstrument": {
            "type": "card/plain",
            "cardNumber": "4444333322221111",
            "cardExpiryDate": {
                "month": 5,
                "year": 2035
            }
        }
    },
    "customer": {
        "authentication": {
            "version": "2.1.0",
            "type": "3DS",
            "eci": "05",
            "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
            "transactionId": "c5b808e7-1de1-4069-a17b-f70d3b3b1645"
        }
    }
}
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "MindPalaceLtd"
    },
    "instruction": {
        "narrative": {
            "line1": "Mind Palace Ltd"
        },
        "value": {
            "currency": "GBP",
            "amount": 250
        },
        "paymentInstrument": {
            "type": "card/token",
            "href": "https://try.access.worldpay.com/tokens/{}"
        }
    },
    "customer": {
        "authentication": {
            "version": "1.0.2",
            "type": "3DS",
            "eci": "05",
            "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
            "transactionId": "z9UKb06xLziZMOXBEmWSVA1kwG0="
        }
    }
}
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "MindPalaceLtd"
    },
    "instruction": {
        "narrative": {
            "line1": "Mind Palace Ltd"
        },
        "value": {
            "currency": "GBP",
            "amount": 250
        },
        "paymentInstrument": {
            "type": "card/token",
            "href": "https://try.access.worldpay.com/tokens/{}"
        }
    },
    "customer": {
        "authentication": {
            "version": "2.1.0",
            "type": "3DS",
            "eci": "05",
            "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
            "transactionId": "c5b808e7-1de1-4069-a17b-f70d3b3b1645"
        }
    }
}

您的 3DS 授权请求中的参数描述

参数必需描述
customer包含您的客户验证结果的对象。有关更多详情,请参见3DS 验证
authentication.type3DS
authentication.version用于处理交易的 3DS 版本。
对于 3DS1 - 1.0.2
对于 3DS2 - 2.1.02.2.0

注释:对于授权中的 Mastercard 身份校验交易是必需的。

authentication.eci电子商务指标 (ECI)。
表示3DS 验证的结果。
  • 02 或 05 - 完全身份验证的交易
  • 01 或 06 - 尝试身份验证交易
  • 00 或 07 - 非 3-D 安全交易
  • Mastercard - 02、01、00
  • Visa - 05、06、07
  • Amex - 05、06、07
  • JCB - 05、06、07
  • Diners - 05、06、07
authentication.authenticationValue是必需的 - 如果 authentication.eci 值为 01、02、05 或 06。
提供 3DS 验证结果证据的密码值。
  • Visa - 持卡人身份验证的验证值 (CAVV)
  • Mastercard - 通用持卡人身份验证字段 (UCAF)
authentication.authenticationValue 必须最大为 28 位,并且必须采用 base64 编码。
authentication.transactionId是必需的 - 如果 authentication.eci 值为 01、02、05 或 06。
由发行机构生成的独特身份验证交易识别码。

对于版本 3DS1: transactionId 为 base64 编码且长度为 28 位数。
对于版本 3DS2: transactionId 符合 RFC 4122 UUID 标准且长度为 36 个字符。

身份验证请求中的可选字段

请查阅我们的API 参考,了解有关我们 Payments API 每个版本的授权请求和架构。

响应

最佳实践:Access Worldpay 在服务响应的头文件中返回WP-CorrelationId。我们强烈建议您将此记录下来。我们使用WP-CorrelationId检查单个服务请求。

成功支付

您会接收到:

  • HTTP 代码 201
  • "outcome": "authorized"
  • 风险因素(仅在发卡机构发现冲突时才返回)
  • 豁免结果和原因(仅在您提供了风险预测时)
  • 发卡机构授权代码
  • 取消结算部分结算跟踪支付事件的链接
  • paymentInstrument(仅用于移动钱包支付)

已拒绝的支付

您会接收到:

  • HTTP 代码 201
  • "outcome": "refused"
  • 拒绝代码
  • 为拒绝提供更多上下文的 description
  • 风险因素(仅在发卡机构发现冲突时才返回)
  • 豁免结果和原因(仅在您提供了风险预测时)
  • paymentInstrument(仅用于移动钱包支付)

示例响应

Copied!
{
    "outcome": "authorized",
    "riskFactors": [{
            "risk": "not_matched",
            "type": "cvc"
        },
        {
            "risk": "not_checked",
            "detail": "postcode",
            "type": "avs"
        },
        {
            "risk": "not_matched",
            "detail": "address",
            "type": "avs"
        }
    ],
    "exemption": {
        "result": "honored",
        "reason": "issuerHonored"
    },
    "issuer": {
        "authorizationCode": "0"
    },
    "_links": {
        "payments:cancel": {
            "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/eyJrIjoiazNhYjYzMiJ9"
        },
        "payments:settle": {
            "href": "https://try.access.worldpay.com/payments/settlements/full/eyJrIjoiazNhYjYzMiJ9"
        },
        "payments:partialSettle": {
            "href": "https://try.access.worldpay.com/payments/settlements/partials/eyJrIjoiazNhYjYzMiJ9"
        },
        "payments:events": {
            "href": "https://try.access.worldpay.com/payments/events/eyJrIjoiazNhYjYzMiJ9"
        },
        "curies": [{
            "name": "payments",
            "href": "https://try.access.worldpay.com/rels/payments/{rel}",
            "templated": true
        }]
    }
}
{
    "outcome": "authorized",
    "riskFactors": [{
        "risk": "not_checked",
        "detail": "postcode",
        "type": "avs"
    },
    {
        "risk": "not_matched",
        "detail": "address",
        "type": "avs"
    }],
    "paymentInstrument": {
        "type": "card/network+masked",
        "card": {
            "number": {
                "bin": "444433",
                "last4Digits": "1111"
            },
            "countryCode": "GB",
            "expiryDate": {
                "month": 1,
                "year": 2020
            },
            "brand": "visa",
            "fundingType": "debit",
            "issuer": {
                "name": "VALID_ISSUER"
            },
            "paymentAccountReference": "somePAR"
        }
    },
    "_links": {
        "payments:cancel": {
            "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/eyJrIjoiazNhYjYzMiJ9"
        },
        "payments:settle": {
            "href": "https://try.access.worldpay.com/payments/settlements/full/eyJrIjoiazNhYjYzMiJ9"
        },
        "payments:partialSettle": {
            "href": "https://try.access.worldpay.com/payments/settlements/partials/eyJrIjoiazNhYjYzMiJ9"
        },
        "payments:events": {
            "href": "https://try.access.worldpay.com/payments/events/eyJrIjoiazNhYjYzMiJ9"
        },
        "curies": [{
            "name": "payments",
            "href": "https://try.access.worldpay.com/rels/payments/{rel}",
            "templated": true
        }]
    }
}
{
    "outcome": "refused",
    "description": "CARD EXPIRED",
    "code": "33",
    "refusalAdvice": {
        "code": "01"
    },
    "riskFactors": [{
            "risk": "not_supplied",
            "type": "cvc"
        },
        {
            "risk": "not_checked",
            "detail": "address",
            "type": "avs"
        },
        {
            "risk": "not_checked",
            "detail": "postcode",
            "type": "avs"
        },
        {
            "risk": "verificationFailed",
            "type": "riskProfile"
        }
    ]
}
{
    "outcome": "refused",
    "description": "Do not honour",
    "code": "5",
    "refusalAdvice": {
        "code": "03"
    },
    "riskFactors": [{
        "risk": "not_checked",
        "detail": "postcode",
        "type": "avs"
    },
    {
        "risk": "not_matched",
        "detail": "address",
        "type": "avs"
    }],
    "paymentInstrument": {
        "type": "card/network+masked",
        "card": {
            "number": {
                "bin": "444433",
                "last4Digits": "1111"
            },
            "countryCode": "GB",
            "brand": "visa",
            "fundingType": "debit",
            "issuer": {
                "name": "VALID_ISSUER"
            },
            "paymentAccountReference": "somePAR"
        }
    }
}

您可以使用payments:settle操作链接来立即结算支付。您还可以将响应进行缓存,并在以后再使用该链接来结算支付。

注释:如果出现错误,您可以在我们的错误参考中获取更多信息。


riskFactors

exemption

软拒绝

如果支付中未应用豁免,则发卡机构会以软拒绝(拒绝代码 65)来回应。该操作的下一个符合逻辑的步骤是继续进行3DS 身份验证

后续步骤


结算或取消支付