ネットで商品を売りたい!実際にネットショップを作ったみた感想

実際にネットショップを作ってみて、思ったことを書きます。
構成
作ったネットショップはこのサイトでも公開しているもので、構成は以下のようになっています。

サイトはNext.jsで作成しており、Vercel上にデプロイしています。
商品は自分で描いた絵を元にプリントオンデマンドサービスのPrintfulを使用して、試しに一つステッカーを作りました。この商品の情報をAPIを使って自分のサイトに呼んでます。
購入の際は、ユーザーにStripeを使って決済をしてもらいます。決済完了をWebhookで受け取り、購入して頂いた商品の情報とお届け先をPrintfulに送ります。あとは、Printfulが商品の製造から発送までしてくれます。
よかった点
Stripeが使いやすい
初めて使ったのですが、使いやすく開発がしやすいです。テストモード、ドキュメントの整いっぷり、Webhookがあること、ダッシュボードの使いやすさなどなど。
初めの本人確認とかが少し手間だったぐらいでした。免許証の写真送って、サイトでちゃんと特定商取引法に基づく表記があるの確認してもらったり。
ですが、審査に時間はそこまでかからずスムーズだったり、ガイドをくれたりとやりやすかったです!
PrintfulがAPIを公開してくれている
他の類似サービスもAPIを公開してくれていることはあります。ですが、ほんとんどのものは商品情報取得などぐらいで、商品の注文のAPIがあることはなかなかないです。
ですが、Printfulは商品情報から注文などけっこう色々なAPIがあります。
まぁちょっと日本語対応で苦しむこともありましたが。笑
例えば、APIで商品のサイズガイドを呼べますが、服でもステッカーとかでも全て高さは「height: ○○」で返ってくるので、これを日本語に当てめる時に、自分で服なら「着丈」、ステッカーならそのまま「高さ」など変換をうまいことやる必要があったりですね。
Next.jsのAPIルーティングできること
StripeやPrintfulのAPIの呼び出しはシークレットキーをセットする必要がありますので、Next.jsのAPIルーティングでバックエンド側を作ってキーを隠せてよかったです。
また、今回はWebhookを使いたかったですし、購入した後に確認メールも送信しているのでそういった面でも役に立ちました。
私はバックエンドの言語にはそこまで詳しくないので、このNext.jsのAPIルーティングを使うことで、バックエンド側もJava Scriptでコードを書けたことも大変助かりました。
難しかった点
自分のサイト・Stripe・Printful間でどの情報をどう渡すかなどはちょっと悩みましたね。
商品情報をどう表示して、カートに入れる情報はどれで、その情報をどうやってサイト内で保持させておくか。
そして、決済時に渡す情報はどれで、完了後のWebhookでPrintfulのAPIが発火するけど、どうやってこれに情報渡そうとか。
特に、決済時はStripeの提供してくれる決済画面に一度遷移するようにしたので、自分のサイトから一回離れてしまいます。決済成功後にまた戻ってくるのですが、それを考慮するとどう情報をやり取りしたらしたらいいんだ?とか考えたりでした。
あとは、実装作業以外で結構考えていましたね。
そもそもの下調べも色々なサービスがあるので時間がかかりますし、ポリシーや特許法に従った表記とかどう書くんだとか。
商品に関しても著作権の侵害とかしていないか、値段をどう設定すると自分の手元にどれだけ残るんだとか。
などなど、実装以外でも色々悩みました。
まとめ
実装はある程度スムーズにいくけど、それ以外でも色々と悩む!
ですが、実装についてもそれ以外のことについても調べたりでどうにか動くものは作れる。
あとは、このあと実際に作ったネットショップでどうやって商品を売っていくのか、どう活かしていくのかが調べても出てくるものではないと思うので、これに向き合わないとですね。むしろ、ここからスタートみたいな感じですかね。
もし、この記事を読んでくださる方がいたら、あたたかく見守ってくれた嬉しいです。