我正在尝试在 Shopify 和外部银行 API 之间进行集成。
集成很简单,只需在银行端点请求 JWT、发送数据并接收响应即可。我的问题是我从未使用过 Shopify,并且我不确定它是否有后端来完成所有这些过程以及它是如何工作的或者我在哪里可以找到它。我在谷歌中搜索,但没有找到明确的答案。
有人可以帮助我吗?
您有多种方法可以做到这一点,一切都取决于您的需要。
如果该银行已与 Shopify 连接,请搜索设置/付款方式
搜索 shopify 应用程序商店(如果该银行已存在 Shopify 应用程序)。
如果不存在,您可以制作自己的应用程序。您有两个选择公共或自定义应用程序
如果我是你,我会做一个公共应用程序,因为我可以向更多有兴趣使用同一家银行的shopify客户出售该应用程序,你甚至可以在未来将该应用程序出售给银行本身。
您应该遵循 shopify dev
的指示如果您在尝试从 Remix Shopify 应用发出外部 API 请求时遇到 CORS 错误,则问题可能源于在 Remix 中发出 API 请求的方法不正确。
根据Shopify的文档,最初的假设可能是您需要设置App Proxy,但这种方法是无效的。
问题的出现是因为我试图以与典型 React 前端应用程序相同的方式发出请求。这导致了 CORS 错误。由于 Remix 是为服务器端渲染而设计的,因此我们需要使用 Remix 的Loader概念从后端发起外部资源请求。
import { useLoaderData } from "@remix-run/react";
import { axios } from "axios";
export async function loader() {
return await axios.get('https://exteranl-url.com/users');
}
export default function Users() {
const data = useLoaderData<typeof loader>();
return (
<ul>
{data.map((user) => (
<li key={user.id}>{user.name}</li>
))}
</ul>
);
}