与 PayU 集成支付

Integration of payments with PayU

我在 PayU 上整合付款时遇到问题。 我不是高级程序员,但我想在我的网站上这样做。 我在 https://www.payu.pl/en 上创建了一个沙盒帐户。 我正在浏览论坛,但我还是不明白。 首先,我使用了这段代码:https://repl.it/@PayU/pop-up-widget。 但它可能是商店本身和网站的组合。

现在我可能必须使用此代码并从 http://developers.payu.com/en/restapi.html#creating_new_order_api

创建订单
    curl -X POST https://secure.snd.payu.com/api/v2_1/orders \
-H "Content-Type: application/json" \
-H "Authorization: Bearer d9a4536e-62ba-4f60-8017-6053211d3f47" \
-d '{
    "notifyUrl": "https://your.eshop.com/notify",
    "customerIp": "127.0.0.1",
    "merchantPosId": "300746",
    "description": "RTV market",
    "currencyCode": "PLN",
    "totalAmount": "21000",
    "buyer": {
        "email": "john.doe@example.com",
        "phone": "654111654",
        "firstName": "John",
        "lastName": "Doe",
        "language": "pl"
    },
    "settings":{
        "invoiceDisabled":"true"
    },
    "products": [
        {
            "name": "Wireless Mouse for Laptop",
            "unitPrice": "15000",
            "quantity": "1"
        },
        {
            "name": "HDMI cable",
            "unitPrice": "6000",
            "quantity": "1"
        }
    ]
}'

如果代码正确,我该如何使用它? 将此文件保存为哪种格式? 如何 运行 这个脚本。 我从来没有用过 curl,我不知道该怎么做。

您发布的代码是一个命令,它将发送一个 HTTP POST-REQUEST(参见 https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol)。

请求主要包括:

  1. 目的地址(https://secure.snd.payu.com/api/v2_1/orders),用于标识服务器和请求在服务器上的路径,以便服务器可以适当地执行请求。
  2. 两个 headers,第一个通知消息的内容类型,第二个提供某种身份验证/授权。
  3. 消息body本身,为服务器提供请求的实际内容。

此请求是通过终端命令 (curl) 执行的,因此要执行它,您有多种选择。要么,您将这段代码完全按照显示的方式粘贴到终端中以直接执行它,或者将其保存到以 .sh 结尾的普通文本文件中并执行(在使其可执行之后)。当然,这些方法仅在您拥有类似 unix 的操作系统并且 curl 命令行实用程序位于您的可执行路径中的情况下才有效。不过http请求的发送方式有很多种,curl不一定是必须的。甚至有一些在线表格允许这样做。甚至 PayU 也提供了一个,您可以找到它,如果您单击页面上的 "Try it now" 按钮,您刚刚在其中找到命令。

所以这回答了你的问题。不过我还是要说几点:

这是正确的代码吗?它有效,我测试了它。但是由于您创建了自己的沙盒帐户,您可能应该更改行 Authorization: Bearer d9a4536e-62ba-4f60-8017-6053211d3f47,使其包含您可能收到的授权代码。

如果您想在您的网站上执行此代码,您需要了解如何使用您用于 web-developing(例如 PHP)的语言来执行请求。那么您可能不需要使用 curl,但该语言中的函数使用请求的各个部分,我在上面指出,是适当的。但这可能是一个新问题。

发表评论,如果您不理解我的部分答案,我会扩展它。