wp-pay-gateways/ideal-advanced-v3

WordPress支付处理库的iDEAL Advanced v3驱动程序。

v4.3.7 2023-10-13 12:12 UTC

README

WordPress支付处理库的iDEAL Advanced v3驱动程序。

Build Status Coverage Status Latest Stable Version Total Downloads Latest Unstable Version License Built with Grunt

提供者

  • ING
  • 荷兰合作银行

文档

签名iDEAL消息

所有由商户发送给收单行(DirectoryRequest、TransactionRequest和StatusRequest)的消息都必须由商户签名。消息的签名应按照2008年6月10日发布的"W3C推荐‘XML签名语法和处理(第2版)"进行,并应用以下设置和限制:

  1. 整个XML消息必须签名。

  2. 为了生成主消息的摘要,必须使用包含的规范化算法。这种规范化的主要消息方法在iDEAL XML消息中没有(总是)明确指示。因此,这种转换未包含在此文档中的示例消息中。商户不需要在其消息中明确指出此转换。

  3. 为了生成签名值,必须使用排除的规范化算法。

  4. 必须使用封装签名语法。使用默认转换从XML消息中移除签名本身。

  5. 用于散列的目的,必须使用SHA-256算法。

  6. 用于签名的目的,必须使用RSAWithSHA256算法。RSA密钥长度必须为2,048位。

  7. 必须使用X.509证书的指纹引用公钥。指纹必须按照以下公式计算:HEX(SHA-1(DER证书)) 11

    注意:密钥引用与所有以前的iDEAL版本向后兼容。

    注意:根据Base64规范,每76个字符后可以插入换行符,使用CR/LF12

通常,商户不需要对RSA有深入了解,因为大多数编程语言都有可用的库,这些库实现了XML数字签名处理。强烈建议使用这些标准库。在以下版本和更高版本中,常用软件平台提供了创建和验证RSAWithSHA256数字签名的标准功能:PHP版本5.3.0、Microsoft .NET版本3.5 sp1和Java版本1.6 u18。

此功能也可能在其他平台(例如Python、Ruby)的早期版本中可用。

有关创建公钥和私钥对的信息,请参阅第8.4段。

4 http://www.w3.org/TR/xmldsig-core/
5 XML签名引用已签名的信息URI留空,请参阅附录B中的示例消息
6 http://www.w3.org/TR/2001/REC-xml-c14n-20010315
7 http://www.w3.org/2001/10/xml-exc-c14n
8 http://www.w3.org/TR/xmldsig-core/#sec-EnvelopedSignature
9 http://www.w3.org/2001/04/xmlenc#sha256
10 上标 http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/#sec-SHA256
11 请参阅附录B中的示例消息
12 http://tools.ietf.org/html/rfc2045#section-6.8