realex-payments-api - 全球支付 HPP 沙箱。使用 ngrok 时 MERCHANT_RESPONSE_URL 中的 508 个无效字符
问题描述
是否有机会与 ngrok 一起使用 Global Payments HPP 沙盒?
目前,它给
508
Invalid characters in MERCHANT_RESPONSE_URL. Please contact the merchant.
对于像这样的网址
https://testsitewww.ap.ngrok.io/~testsite/shop/src/cart.php?target=callback&txn_id_name=txnId&txnId=000008-567H
完整的请求
(
[ORDER_ID] => testsite2_000008-567H
[MERCHANT_ID] => dev240640823746370784
[TIMESTAMP] => 20201110125116
[ACCOUNT] =>
[AUTO_SETTLE_FLAG] => 1
[HPP_VERSION] => 2
[AMOUNT] => 13999
[HPP_CUSTOMER_PHONENUMBER_MOBILE] =>
[HPP_CUSTOMER_EMAIL] => testsite+test@example.com
[HPP_SHIPPING_POSTALCODE] => 90001
[HPP_SHIPPING_COUNTRY] => 643
[HPP_SHIPPING_CITY] => Los Angeles
[HPP_SHIPPING_STREET1] => test
[HPP_SHIPPING_STREET2] =>
[HPP_SHIPPING_STREET3] =>
[HPP_BILLING_POSTALCODE] => 90001
[HPP_BILLING_COUNTRY] => 643
[HPP_SHIPPING_STATE] =>
[HPP_BILLING_CITY] => Los Angeles
[HPP_BILLING_STREET1] => test
[HPP_BILLING_STREET2] =>
[HPP_BILLING_STREET3] =>
[HPP_ADDRESS_MATCH_INDICATOR] => TRUE
[MERCHANT_RESPONSE_URL] => https://testsitewww.ap.ngrok.io/~testsite/shop/src/cart.php?target=callback&txn_id_name=txnId&txnId=000008-567H
[COMMENT1] => Test company
[CURRENCY] => USD
[SHA1HASH] => e068e2876262d61f22c84f440463fcdb1b42f90a
)
其他 URL 正常工作。
根据https://developer.globalpay.com/contact-us 我必须在这里提出集成问题
解决方案
我认为 URL 中的字符 ~ 是这里的问题,而不是 ngrok。我刚刚使用了nrok,它工作正常。我的 url 看起来像: http: //6c59460.ngrok.io/realexresponse
另外,ngrok 指向一个本地 IIS url,比如 http://localhost:88。如此有效,我在 MERCHANT_RESPONSE_URL 中提供的 URL 是 http://localhost:88/realexresponse
我发现这篇文章建议不要在 URL 中使用某些字符,因为它们可能被服务器或在本例中为 Realex 保留。其中之一是 ~
https://help.dragonmetrics.com/en/articles/213986-invalid-characters-in-url
推荐阅读
- javascript - 如何为 Web 开发安装 NumJs?
- java - 使用 JAMOD 读取正确的 Schneider Momentum PLC 寄存器或线圈地址
- python - 将输出标签值保存到 csv
- python - 在两个 RaspberryPi 之间使用 Python xmlrpc 会导致连接被拒绝错误
- javascript - HTML & CSS: 带有基于 Scroll 的覆盖导航栏的嵌入式视频
- angular - 从 Angular 到 Spring 的多部分发布请求
- python - Python Twisted/Reactor 无法将消息发送到服务器/客户端
- python - 如何计算熊猫系列中列表的元素
- django - Letsencrypt 登台和生产服务器上的 SSL 证书
- regex - 正则表达式禁止撇号和连字符之前或之后的任何空格