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

接受重复性授权

在使用您的客户存储的卡详情发起支付时,您可以使用我们的重复性授权资源。接受付款时首先验证或不验证您客户的账户。 请在此处阅读有关员工重复性规定的更多详情。

什么是重复性支付?

  • 在您的客户在授权点未主动参与时由流程触发的交易
  • 只能在您的客户通过身份验证并同意一项委付款项时作为原始预存卡号的后续予以执行
  • 您必须声明所有重复性支付的用途,包括订阅、分期或计划外
  • 有时也被称为商户发起的交易 (MIT)

在此页面上:

重复性授权且需要验证

验证您客户的账户,然后再提交您的第一次重复性支付以便进行授权。

重复性支付请求

POST 您发至在成功的cardOnFile 智能dynamicCardOnFile验证中收到的payments:recurringAuthorize操作链接中的支付请求。

示例请求

POST http://try.access.worldpay.com/payments/authorizations/recurring/{resource}

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

请求正文

Copied!
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "MindPalaceLtd"
    },
    "instruction": {
        "narrative": {
            "line1": "trading name"
        },
        "paymentInstrument": {
            "type": "card/plain",
            "cardNumber": "4444333322221111",
            "cardExpiryDate": {
                "month": 12,
                "year": 2020
            }
        },
        "value": {
            "currency": "GBP",
            "amount": 250
        },
        "intent": "subscription"
    }
}
{
    "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/{}"
        },
        "intent": "unscheduled"
    }
}

参数描述

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

可选参数

响应

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

成功支付

  • HTTP 代码 201
  • "outcome": "authorized"
  • 风险因素(仅在发卡机构发现冲突时才返回)
  • 发卡机构授权代码
  • 方案参考号(由主要银行卡方案支持,但可能不会为所有的方案/地区返回)
  • 取消结算部分结算跟踪支付事件的链接
  • 在您的重复支付协议中的下次支付时使用的授权链接

已拒绝的支付

您会接收到:

  • HTTP 代码 201
  • "outcome": "refused"
  • 拒绝代码
  • 为拒绝提供更多上下文的 description
  • 风险因素(仅在发卡机构发现冲突时才返回)

示例响应

Copied!
{
    "outcome": "authorized",
    "riskFactors": [{
            "risk": "not_matched",
            "type": "cvc"
        },
        {
            "risk": "not_checked",
            "detail": "postcode",
            "type": "avs"
        },
        {
            "risk": "not_checked",
            "detail": "address",
            "type": "avs"
        }
    ],
    "issuer": {
        "authorizationCode": "0"
    },
    "scheme": {
        "reference": "1260019172"
    },
    "_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
        }],
        "payments:recurringAuthorize": {
            "href": "https://try.access.worldpay.com/payments/authorizations/recurring/eyJrIjoiazNhYjYzMiJ9"
        }
    }
}
{
    "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"
        }
    ]
}

您必须总是存储和使用payments:recurringAuthorize操作链接中返回的链接,以授权您的下一次重复性支付。

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


后续步骤


支付退款

重复性授权且无需验证

在使用您的客户存储的卡详情发起支付无需首先验证客户账户时,您可以使用我们的迁移重复性授权资源。

重复性支付请求

POST 您的重复性授权请求至[payments:migrateRecurringAuthorize]我们在您的查询支付根资源请求中收到的 (/zh/docs/access-worldpay/api/references/payments/migraterecurringauthorizations) 操作链接。

migrateRecurring 授权示例请求

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

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

migrateRecurring 授权请求正文:

Copied!
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "MindPalaceLtd"
    },
    "instruction": {
        "narrative": {
            "line1": "trading name"
        },
        "paymentInstrument": {
            "type": "card/plain",
            "cardNumber": "4444333322221111",
            "cardExpiryDate": {
                "month": 12,
                "year": 2020
            }
        },
        "value": {
            "currency": "GBP",
            "amount": 250
        },
        "intent": "subscription"
    }
}
{
    "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/{}"
        },
        "intent": "unscheduled"
    }
}
{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "MindPalaceLtd"
    },
    "instruction": {
        "intent":"instalment",
        "narrative": {
            "line1": "Mind Palace Ltd"
        },
        "value": {
            "currency": "GBP",
            "amount": 250
        },
        "paymentInstrument": {
            "type": "card/networkToken+applepay",
            "dpan": "4444333322221111",
            "cardExpiryDate": {
                "month": 5,
                "year": 2035
            }
        }
    }
}

参数描述

参数描述
instruction.paymentInstrument包含支付类型和详情的对象。
  • card/networkToken+applepay 用于解码的钱包流。paymentInstrument 中包括 dpan,可替代原始卡号。它由卡网络/钱包提供商生成。

您可以在此处了解完整的参数描述。

可选参数

migrateRecurring 授权响应

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

成功支付

  • HTTP 代码 201
  • "outcome": "authorized"
  • 风险因素(仅在发卡机构发现冲突时才返回)
  • 发卡机构授权代码
  • 方案参考号(由主要银行卡方案支持,但可能不会为所有的方案/地区返回)
  • paymentInstrument(仅用于 Apple Pay 解码)
  • 取消结算部分结算跟踪支付事件的链接
  • 在您的重复支付协议中的下次支付时使用的授权链接

已拒绝的支付

您会接收到:

  • HTTP 代码 201
  • "outcome": "refused"
  • 拒绝代码
  • 为拒绝提供更多上下文的 description
  • 风险因素(仅在发卡机构发现冲突时才返回)

示例响应

Copied!
{
    "outcome": "authorized",
    "riskFactors": [{
            "risk": "not_matched",
            "type": "cvc"
        },
        {
            "risk": "not_checked",
            "detail": "postcode",
            "type": "avs"
        },
        {
            "risk": "not_checked",
            "detail": "address",
            "type": "avs"
        }
    ],
    "issuer": {
        "authorizationCode": "0"
    },
    "scheme": {
        "reference": "1260019172"
    },
    "_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
        }],
        "payments:recurringAuthorize": {
            "href": "https://try.access.worldpay.com/payments/authorizations/recurring/eyJrIjoiazNhYjYzMiJ9"
        }
    }
}
{
    "outcome": "authorized",
    "riskFactors": [{
            "risk": "not_checked",
            "detail": "address",
            "type": "avs"
        },
        {
            "risk": "not_checked",
            "detail": "postcode",
            "type": "avs"
        }
    ],
    "scheme": {
        "reference": "000000000000020005060720116005061"
    },
    "paymentInstrument": {
        "type": "card/network",
        "card": {
            "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
        }
    },
    "_links": {
        "payments:cancel": {
            "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/eyJrIjoiazNhYjYzMiIsImxpbmtWZ"
        },
        "payments:settle": {
            "href": "https://try.access.worldpay.com/payments/settlements/full/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJ"
        },
        "payments:partialSettle": {
            "href": "https://try.access.worldpay.com/payments/settlements/partials/eyJrI"
        },
        "payments:events": {
            "href": "https://try.access.worldpay.com/payments/events/eyJrIjoiazNhYjYzMiI"
        },
        "curies": [
            {
                "name": "payments",
                "href": "https://try.access.worldpay.com/rels/payments/{rel}",
                "templated": true
            }
        ],
        "payments:recurringAuthorize": {
            "href": "https://try.access.worldpay.com/payments/authorizations/recurring/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJ"
        }
    }
}
{
    "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"
        }
    ]
}

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

您必须总是存储和使用payments:migrateRecurringAuthorize操作链接中返回的链接,以授权您的下一次重复性支付。

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


后续步骤


结算或取消支付