https://www.code-sell.net/ Wir haben einen Service erstellt, mit dem Sie Codes verkaufen können! Wenn Sie Code haben, den Sie nicht benötigen, verwenden Sie ihn bitte. Ich verwende übrigens den in diesem Artikel beschriebenen Streifen.
Hallo! Ist es diesmal einfach, Schienen und Streifen zu verwenden? Ich werde eine EC-Site erstellen. Vor einiger Zeit habe ich auch eine Code-Verkaufsseite mit Schienen und Streifen erstellt, aber ich hatte große Probleme, weil zu wenig Informationen über Streifen vorhanden waren. Um genau zu sein, es gibt viele Informationen selbst, aber es gibt nur wenige praktische Informationen, und es war so, als würde man den Code arrangieren und ein wenig wie das offizielle Dokument erklären. Dieses Mal werden wir die Seite tatsächlich erstellen.
Dinge, die Sie Artikel wie Notiz kaufen können
rails ruby stripe
Es ist ein Zahlungssystem. Im Vergleich zu payjp ist die Gebühr günstiger und es gibt eine Geldtransferfunktion.
Kunde: Ein Käufer und Zahler. Grün in der Abbildung oben. Plattform: Eine EC-Site, die von nun an erstellt werden soll. Wo soll der Service erbracht werden? Verbundene Konten: Diejenigen, die Dienste über die Plattform bereitstellen und Einzahlungen / Verkäufer erhalten (auch als Kinderkonten bezeichnet). Pink in der Abbildung oben.
Es gibt Standard- und benutzerdefinierte Arten von untergeordneten Konten (Verkäufern) in Streifen. Die Funktionen und die Registrierungsmethode sind unterschiedlich. Schauen wir uns das an.
Standard Entwicklungskosten (Arbeitsaufwand): Einfach Benutzerperspektive: Subtil Verantwortung, wenn etwas passiert: Verkäufer (Kinderkonto) Empfehlung: Mittel
Dies ist ein sehr einfach zu implementierender Typ. Wie ich später schreiben werde, werden die meisten Registrierungsformulare und Systeme von der Streifenseite verwaltet. Wir fügen einfach den Link in das Registrierungsformular ein und kopieren ihn und fügen ihn in den Controller ein. Wenn etwas passiert (negativer Saldo usw.), liegt es in der Verantwortung des Benutzers, nicht von uns. Diese Methode teilt dem Benutzer jedoch eindeutig mit, dass er Streifen verwendet. Das Registrierungsformular wird vollständig von stripe erstellt und der Verkäufer kann auf den Verwaltungsbildschirm (Dashboard) von Stripe zugreifen. Das Design kann auch nicht geändert werden.
Custom Entwicklungskosten (Arbeit): Schwierig Benutzerperspektive: Gut Verantwortung, wenn etwas passiert: Plattform (Entwickler) Empfehlung: Hoch
Dies ist ein schwierig zu implementierender Typ. Erstellen Sie Ihr eigenes Registrierungsformular, System zum Senden an Stripe und Dashboard. Es liegt in meiner Verantwortung, wenn etwas passiert. Von der Registrierung bis zum Verwaltungsbildschirm wird jedoch alles auf Ihrer eigenen Website erledigt. Natürlich ist das Design auch kostenlos.
Wie ich bereits erklärt habe, wollen wir uns vorerst die Details merken. Dieses Mal erstellen wir eine einmalige Kaufseite. Sie können auch regelmäßig bezahlen, aber das wurde in einem anderen Artikel getan ...
Registrieren Sie sich und erhalten Sie einen API-Schlüssel Neue Registrierung Bildschirm zum Abrufen des API-Schlüssels
gemfile
gem "stripe"
gem 'dotenv-rails'
Vergiss das Bündel nicht. Erstellen Sie dann eine Datei mit dem Namen .env direkt unter dem App-Ordner
PUBLISHABLE_KEY="pk_test_xxx"
SECRET_KEY="sk_test_xxx"
CLIENT_ID="ca_xxx"
Bitte beschreiben. CLIENT_ID ist Von hier abrufen
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]
Da es von Anfang an schwierig ist, es zu machen, werde ich es zum Gerüst machen. Wie ich zu Beginn geschrieben habe, werde ich dieses Mal einen Service erstellen, mit dem Sie Artikel wie Notizen kaufen können. Eigentlich ist es besser, eine Funktion zum Hochladen von Bildern zu haben, aber diesmal liegt der Fokus auf Streifen, sodass die Funktion der App minimiert wird.
rails g scaffold post title:string content:text price:integer
Inhalt ... Inhalt, Produkt Preis ... Preis
rails db:migrate
Ich denke du hast ein Gerüst.
Die Kauffunktion ist überraschend einfach. Machen wir es vorerst zuerst.
routes.rb
post "posts/:id/charge", to: "charge#create", as: "charge"
views
↓ erb Version
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="Kreditabwicklung"
data-name=<%= "#{@post.title}Kaufen" %>
data-email=<%= "#{current_user.email}" %>
data-label="Kaufen"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png "
data-locale="auto"
data-allow-remember-me="false">
</script>
<% end %>
↓ schlanke Version
slim:show.html.slim
= form_tag charge_path(@post) do
script.stripe-button data-amount="#{@post.price}\
" data-currency="jpy" data-description="Kreditabwicklung\
" data-key="#{ENV["PUBLISHABLE_KEY"]}" data-locale="auto" data-name="#{@post.title}Kaufen\
" data-email="#{current_user.email}" data-label="Kaufen\
" data-allow-remember-me="false" src="https://checkout.stripe.com/checkout.js"
Wenn Sie Ansichten schreiben charges_controller.rb Bitte machen Sie einen Controller namens.
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: "Produkt ID:#{@post.id}Produktname:#{@post.title}",
currency: "jpy",
})
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to new_charge_path
end
end
Um es kurz zu erklären, wird der Kunde in der 4. Zeile erstellt. Gebühr erstellt Zahlungsinformationen. Kunde bleibt wie es ist Menge legt den Preis des Produkts fest Stellen Sie die Produktinformationen in der Beschreibung ein (unabhängig vom Inhalt). Stellen Sie die Währung ein, die nach Währung behandelt werden soll (USD, JPY usw.).
Ich denke, Sie können es jetzt kaufen. Die Kartennummer beim Testen 4242 4242 4242 4242 ist. cvc kann alles sein. Das Ablaufdatum der Karte kann jederzeit in der Zukunft liegen. Es gibt mehrere andere. Testkartenliste
Das ist alles für diese Zeit. Das nächste Mal werde ich devise vorstellen, meine Seite erstellen und erklären, wie ein Standardkonto oder ein benutzerdefiniertes Konto erstellt wird. Es ist schwer, also kann es ein ziemliches Ziel sein.
Klicken Sie hier für mehr! ↓ ↓ https://qiita.com/UTOG/items/4d87595890cbfbed2e9f
Recommended Posts