1

我正在测试 HPP 付款,并按照开发人员门户中提供的示例代码进行操作。我在门户网站上创建了一个帐户,并在我的测试应用程序中找到了以下信息。

我总是得到这两个错误。

506 无效的 MERCHANT_ID 或帐户。请联系商家。508 MERCHANT_ID 字段中的数据无效。请联系商家。

商户编号:MER_c4c0df11039c48a9b63701adeaa296c3

下面是来自服务器端点的我的 PHP 代码。

$config->merchantId = "MER_c4c0df11039c48a9b63701adeaa296c3";
$config->accountId = "internet";
$config->sharedSecret = "LYZIFACE9hHngwOy";
$config->serviceUrl = "https://pay.sandbox.realexpayments.com/pay";
4

1 回答 1

2

编辑:您必须在此处申请一个电子商务门户测试帐户,并使用您在获得批准后获得的分配的商家 ID 和密码。那个Merchant Id确实是无效的。

全球支付 SDK 似乎以 base64 格式发回数据,例如:

{
    "MERCHANT_ID": "TUVSXzRjNWQ0NWIxMThmMjQzMGU5ZDhhNmQ1ZGZiNWQ0YzM0",
    "ACCOUNT": "c2VjcmV0",
    "CHANNEL": "",
    "ORDER_ID": "TURVeU1qZGxPVEF0TXpRM1lpMDBZelkwTFdGaU1qTXRaV0l6TmpNNVlXWTNZV0Zp",
    "AMOUNT": "MTAwMw==",
    "CURRENCY": "VVNE",
    "TIMESTAMP": "MjAyMTAyMTUxOTI5NTQ=",
    "AUTO_SETTLE_FLAG": "MQ==",
    "COMMENT1": "",
    "CUST_NUM": "",
    "PAYER_REF": "",
    "PMT_REF": "",
    "PROD_ID": "",
    "SHIPPING_CODE": "NTAwMDE=",
    "SHIPPING_CO": "ODQw",
    "VAR_REF": "",
    "HPP_LANG": "",
    "MERCHANT_RESPONSE_URL": "",
    "CARD_PAYMENT_BUTTON": "",
    "HPP_VERSION": "Mg==",
    "SHA1HASH": "ZDAzNjUzMjIzMWFkZDE0YzMyM2ZjNWQyYzY0Njc1NTJhODVlZTkwMw=="
}

在将字符串传递给 rxp-js 处理程序之前,您可能希望在客户端解码字符串:



let json = JSON.parse(res.toString());
Object.keys(json).forEach(key => json[key] = atob(json[key]));

RealexHpp.setHppUrl("https://pay.sandbox.realexpayments.com/pay");
// When using full page redirect your Response URL must be an absolute link
RealexHpp.redirect.init("realCheckoutButton","http://localhost:3000/responseUrl",json);

于 2021-02-15T20:37:32.030 回答