https://www.code-sell.net/ Nous avons créé un service qui vous permet de vendre des codes! Si vous avez du code dont vous n'avez pas besoin, veuillez l'utiliser. En passant, j'utilise la bande décrite dans cet article.
salut! Est-il facile d'utiliser des rails et des rayures cette fois? Je vais créer un site EC. Il y a quelque temps, j'ai également créé un site de vente de code avec des rails et des rayures, mais j'ai eu beaucoup de problèmes car il y avait trop peu d'informations sur les rayures. Pour être précis, il y a beaucoup d'informations en soi, mais il y a peu d'informations pratiques, et c'était comme organiser le code et l'expliquer un peu comme le document officiel. Cette fois, nous allons créer le site.
Choses que vous pouvez acheter des articles comme note
rails ruby stripe
C'est un système de paiement. Par rapport à payjp, les frais sont moins chers et il existe une fonction de transfert d'argent.
Client: un acheteur et un payeur. Vert dans la figure ci-dessus. Plateforme: Un site EC à créer à partir de maintenant. Où fournir le service. Comptes connectés: Ceux qui fournissent des services en utilisant la plateforme et reçoivent des dépôts / vendeurs (également appelés comptes enfants). Rose dans la figure ci-dessus.
Il existe des types de compte enfant (vendeur) standard et personnalisé dans Stripe. Les fonctionnalités et la méthode d'enregistrement sont différentes, alors jetons un coup d'œil.
Standard Coût de développement (main-d'œuvre): facile Point de vue de l'utilisateur: subtil Responsabilité en cas de problème: vendeur (compte enfant) Recommandation: moyenne
C'est un type très facile à mettre en œuvre. Comme je l'écrirai plus tard, la plupart du formulaire d'inscription et du système sont gérés par le côté bande. Nous collons simplement le lien sur le formulaire d'inscription et le copions et le collons dans le contrôleur. Quand quelque chose arrive (solde négatif, etc.), c'est la responsabilité de l'utilisateur, pas de nous. Cependant, cette méthode indique clairement à l'utilisateur qu'il utilise stripe. Le formulaire d'inscription est entièrement créé par stripe et le vendeur pourra accéder à l'écran de gestion (tableau de bord) de Stripe. Le design ne peut pas non plus être modifié.
Custom Coût de développement (main-d'œuvre): difficile Point de vue de l'utilisateur: bon Responsabilité en cas de problème: Plateforme (développeur) Recommandation: élevée
C'est un type difficile à mettre en œuvre. Créez votre propre formulaire d'inscription, système à envoyer à stripe et tableau de bord. C'est ma responsabilité quand quelque chose arrive. Cependant, tout, de l'inscription à l'écran de gestion, est effectué sur votre propre site. Bien sûr, le design est également gratuit.
Comme je l'ai expliqué, faisons et rappelons les détails pour le moment. Cette fois, nous créerons un site d'achat unique. Vous pouvez également effectuer des paiements réguliers, mais cela a été fait dans un autre article ...
Inscrivez-vous et obtenez une clé API Nouvelle inscription Écran pour obtenir la clé API
gemfile
gem "stripe"
gem 'dotenv-rails'
N'oubliez pas le bundle. Créez ensuite un fichier appelé .env directement dans le dossier de l'application
PUBLISHABLE_KEY="pk_test_xxx"
SECRET_KEY="sk_test_xxx"
CLIENT_ID="ca_xxx"
Décrivez s'il vous plait. CLIENT_ID est Get from here
config/initializers/stripe.rb
Rails.configuration.stripe = {
publishable_key: ENV["PUBLISHABLE_KEY"],
secret_key: ENV["SECRET_KEY"],
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
Puisqu'il est difficile à faire depuis le début, je vais en faire un échafaudage. Comme je l'ai écrit au début, cette fois, je vais créer un service qui vous permet d'acheter des articles comme note. En fait, il est préférable d'avoir une fonction de téléchargement d'image, mais cette fois, l'accent est mis sur les rayures, donc la fonction de l'application sera minimisée.
rails g scaffold post title:string content:text price:integer
contenu ... contenu, produit prix ... prix
rails db:migrate
Je pense que vous avez échafaudé.
La fonction d'achat est étonnamment simple. Faisons-le d'abord pour le moment.
routes.rb
post "posts/:id/charge", to: "charge#create", as: "charge"
views
↓ version erb
erb:show.html.erb
<%= form_tag charge_path(@post) do %>
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="#{ENV["PUBLISHABLE_KEY"]}"
data-amount="<%= @post.price %>"
data-currency="jpy"
data-description="Règlement de crédit"
data-name=<%= "#{@post.title}Acheter" %>
data-email=<%= "#{current_user.email}" %>
data-label="Acheter"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png "
data-locale="auto"
data-allow-remember-me="false">
</script>
<% end %>
↓ version mince
slim:show.html.slim
= form_tag charge_path(@post) do
script.stripe-button data-amount="#{@post.price}\
" data-currency="jpy" data-description="Règlement de crédit\
" data-key="#{ENV["PUBLISHABLE_KEY"]}" data-locale="auto" data-name="#{@post.title}Acheter\
" data-email="#{current_user.email}" data-label="Acheter\
" data-allow-remember-me="false" src="https://checkout.stripe.com/checkout.js"
Si vous écrivez des vues charges_controller.rb Veuillez appeler un contrôleur.
charges_controller.rb
class ChargesController < ApplicationController
def create
@post = Post.find(params[:id])
customer = Stripe::Customer.create({
email: params[:stripeEmail],
source: params[:stripeToken],
})
charge = Stripe::Charge.create({
customer: customer.id,
amount: @post.price,
description: "ID produit:#{@post.id}Nom du produit:#{@post.title}",
currency: "jpy",
})
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to new_charge_path
end
end
Pour expliquer brièvement, le client est créé sur la 4ème ligne. charge crée des informations de paiement. le client reste tel quel montant fixe le prix du produit Définir les informations produit dans la description (quel que soit le contenu) Définissez la devise à traiter par devise (USD, JPY, etc.)
Je pense que vous pouvez l'acheter maintenant. Le numéro de la carte lors du test 4242 4242 4242 4242 est. cvc peut être n'importe quoi. La date d'expiration de la carte peut être à tout moment dans le futur. Il y en a plusieurs autres. Liste des cartes de test
C'est tout pour cette fois. La prochaine fois, je présenterai la conception, créerai ma page et expliquerai comment créer un compte standard ou un compte personnalisé. C'est difficile, donc c'est peut-être une destination.
Cliquez ici pour en savoir plus! ↓ ↓ https://qiita.com/UTOG/items/4d87595890cbfbed2e9f
Recommended Posts