跳到内容

如何在OpenCart上接受加密支付

在OpenCart 2或3商店中接受比特币、USDT和TON的实用指南:免费Payora模块的工作原理,哪个订单状态应表示已支付,以及为什么只有签名的webhook应该设置它。

Payora9 分钟阅读EN · RU · UK · ES · DE · FR · IT · PL · PT · HI · ZH

要在 OpenCart 上接受加密支付,您需要三样东西:商店中的支付扩展、来自网关的 API 密钥,以及一个 webhook,告诉 OpenCart 钱款确实已到账。使用 Payora,这相当于为 OpenCart 2 和 OpenCart 3 提供一个免费的即插即用模块,该模块为订单总额创建发票,将买家发送到一个托管结账页面,在那里他们可以选择比特币、USDT、TON 或其他币种,并仅在签名回调确认链上支付后将订单状态更改为已支付。这些币直接结算到您控制的钱包中,因为 Payora 只持有您的公钥材料。

为什么 OpenCart 商店选择加密

OpenCart 通常由拥有自己技术栈的人运营:自己的托管、自己的数据库、自己的结账。加密货币适合这群人有三个相当不浪漫的原因。

  • 无法以其他方式支付的国际买家。在一个国家发行的卡和在另一个国家注册的商店是一个硬币翻转。USDT 在 Tron 上不关心你们中的任何一个人住在哪里。
  • 没有退款。链上支付确认后就完成了。没有人会在 90 天后因“未收到货物”的索赔而撤销,这也是数字商品卖家考虑这一点的最大原因。我们在没有商户账户的情况下接受支付中更深入地讨论了这一动态。.
  • 没有商户账户。没有承保电话,没有滚动储备,没有最低月费,没有“您的类别是高风险”的邮件,六周后。

这些都不能使加密货币替代卡片。它使其成为第二条通道:保持您现有的方法不变,让加密货币捕捉您之前失去的订单。

如何在 OpenCart 上使用 Payora 模块接受加密货币支付

该模块是一个普通的 OpenCart 支付扩展。它是免费的,我们自己发布它,与我们其他的 即插即用 CMS 模块,设置它只需四个步骤:

  1. 安装扩展到您的 OpenCart 2 或 OpenCart 3 商店,并将其启用为支付方式。
  2. 粘贴您的 API 密钥。在 Payora 创建一个免费账户,生成一个密钥,将其放入模块设置中。
  3. 设置 webhook URL。该模块在您自己的域上公开一个回调端点。将您的 Payora 项目指向它,以便确认的发票回调到您的商店。
  4. 选择您的币种。仅启用您实际想要接收的资产:BTC、Tron上的USDT、TON,或任何适合您的买家的资产。您不必启用所有20种以上的资产。

底层没有任何奇特的东西。该模块使用与 单文件 PHP SDK 自定义集成将使用的相同的普通 JSON REST API;它只是将其连接到 OpenCart 的支付接口,这样您就不必这样做。如果您还运行一个 WordPress 商店,WooCommerce 模块 的工作原理完全相同。

在安装之前值得理解的一件事是:您的接收地址源自一个 xPub,一个主 公钥。私钥从不接触服务器,支付在离线状态下签名。如果明天有人拥有您的 OpenCart 主机,他们可以破坏您的目录,但他们无法移动您所获得的任何一个聪。

买家实际看到的内容

从购物者的角度来看,它简短而无聊,这正是目标。

  1. 他们选择 用加密货币支付在结账时确认订单。OpenCart 创建一个待处理状态的订单。
  2. 他们进入了 托管结账,显示法定货币总额,比如 120 欧元,以及一系列币种。
  3. 他们选择了一种。例如 TON。页面显示确切的 TON 数量、一个地址、一个二维码和一个倒计时。
  4. 他们从钱包中支付。页面跟踪交易并等待该币种的最终确认。
  5. Payora 向您的商店发送签名的 webhook,模块将订单标记为已支付,买家被重定向回您的成功页面。

如果您想在安装任何东西之前查看结账,实时演示是真实的。

订单状态问题

当您在 OpenCart 上接受加密货币支付时,这里集成的地方会变得混乱,因此它值得拥有自己的部分。OpenCart 有一个可配置的订单状态列表,您必须决定哪个状态意味着“钱已经到位”。

在实践中有效的映射:

发生了什么订单应该是什么
买家已发送到结账,尚未付款待处理/等待付款状态
链上看到付款,尚未最终确认仍在待处理,不要履行
签名的 webhook 表示已付款您的处理/支付状态。这是触发器
发票窗口已过期,未收到任何信息已过期或失败,或者保持待处理状态并手动取消

故意选择已支付状态。如果这是一个释放可下载产品或触发自动电子邮件的状态,它必须是只有 webhook 可以设置的状态。不要重用您的员工也手动设置的银行转账状态,否则您在审计时将无法区分这两者。

绝不要在浏览器重定向上标记订单为已支付

当买家返回到您的成功页面时,该重定向是来自浏览器的请求。浏览器会关闭。连接在火车上会中断。成功的 URL 可能会被从未支付过一分钱的人手动输入。如果您的商店在返回 URL 上标记订单为已支付,您就建立了一个免费商品按钮。

签名的 webhook 是事实的来源。它是一个服务器到服务器的 POST,携带对有效负载的 HMAC-SHA256 签名,一个时间戳,以便旧的捕获无法重放,以及一个幂等性密钥,以便重试交付不会两次完成订单。验证签名,检查时间戳窗口,基于幂等性密钥去重,然后再更改状态。重定向的存在是为了向买家展示一个友好的页面,仅此而已。如果购物者在支付的那一刻关闭标签页,webhook 仍然会到达,订单仍然会完成。

价格变动时的定价

您不以比特币定价您的目录。您保持OpenCart的现状,120欧元仍然是120欧元,发票以法定货币创建。在结账时,Payora将转换为买家选择的币种,并在发票窗口锁定该金额。如果在他们从口袋里拿出手机的过程中,比特币波动了3%,报价金额仍然是该金额。

不足支付和过度支付是根据锁定的数字来判断的,而不是实时行情,这使得支付决策不模糊。Payora不做的事情,以及没有诚实的网关会做的事情,是保护您免受明天币值波动的影响。如果您想要法定货币的确定性,请选择稳定币。USDT和USDC在每个承载它们的网络上都可用,对于大多数OpenCart商店来说,Tron上的USDT是务实的默认选择。

诚实的权衡

有三个,您应该在生产中接受OpenCart的加密支付之前了解这三个。

  • 无退款的政策是双向的。没有人可以从您那里追回付款,您也无法追回付款。退款是向客户地址的手动外部支付:您签署的真实交易,而不是撤销历史的按钮。在您第一次订单之前决定退款政策,而不是在第一次争议期间。
  • 网络费用差异很大。发件人支付费用,但他们仍然影响行为。15美元订单上的2美元比特币费用是买家放弃的结账。启用一个便宜的网络是解决方案;与物理规律争论没有意义。
  • 慢链意味着支付状态更慢。比特币的最终确认时间是分钟,而不是毫秒。如果您销售买家期望立即获得的数字商品,请优先考虑快速网络,让BTC成为想要它的人的选择。

关于费用:接受是0%。只有在您转移资金时才会产生费用——在免费计划中,支付、转账和提款的费用为1.5%(专业版为0.75%,商业版为0.5%),加上币的网络费用(最低提款50美元)——再加上链上网络费用,发件人始终支付。完整的费用明细在定价.

如果您经营一个OpenCart商店,并且一直在默默拒绝那些无法使用您商店的卡的买家,这只需要一个下午的工作。创建一个免费账户,安装模块,将Webhook指向您的商店,并启用一种币以开始。

Comments

准备开始了吗?

创建账户,并在一小时内开出第一张账单。

此页面回答的问题