[JAVA] [Rails] Einführung von PAY.JP

Einführung

Ich erstelle eine Webanwendung mit Ruby on Rails in der Teamentwicklung.

Die Beschreibung und der Code können verwirrend sein, da sie noch nicht ausgereift sind. Wir werden die Elemente und Änderungen, die nicht beschrieben werden konnten, aktualisieren und auffrischen.

Wenn Sie ein Anfänger wie ich sind, können Sie möglicherweise nicht verstehen, was Sie jetzt nachschlagen möchten, wenn Sie die Suche wiederholen. Daher erkläre ich jedes Mal technische Begriffe und Katakana-Begriffe.

Was ist PAY.JP?

cf. https://paymentnavi.com/paymentnews/51558.html

Die Kreditkarteninformationen des Kunden werden nicht in der Datenbank auf der Anwendungsseite gespeichert, sondern in PAY.JP. Indem Sie den Kunden mit der Kreditkarte verknüpfen und verarbeiten, wird sie zu einer API, mit der Sie eine sichere Kreditkartenzahlung vornehmen können.

Bei der Entwicklung der Free Market App haben wir die Produktkauffunktion mit diesem PAY.JP implementiert, um Zahlungen mit Kreditkarte zu tätigen.

API: Eine Abkürzung für "Application Programming Interface" (Anwendungsprogrammierschnittstelle), was "etwas bedeutet, das von einem auf eine Funktion spezialisierten Programm gemeinsam genutzt werden kann" oder "ein Mechanismus zum Teilen von Softwarefunktionen".

Versionsinformation

1. PAY.JP Kontoerstellung

Erstellen Sie ein Konto auf der PAY.JP-Site. (Vorbereitungen)

2. Einführung des "PAY.JP Gem"

Schreiben Sie Folgendes in die Gemfile und führen Sie die ** Bundle-Installation ** aus.

Gemfile


gem 'payjp'

3. Machen Sie es möglich, payjp.js zu lesen

app/views/layouts/application.html.haml


%html
  %head
    %meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
    %title payjptest
    
    -# payjp.Beschriebenes Skript, damit js gelesen werden kann
    %script{src: "https://js.pay.jp/", type: "text/javascript"}
    
    = csrf_meta_tags
    = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload'
    = javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
  %body
    = yield

4. `Umgebungsvariablen einstellen``

Umgebungsvariable: Das Betriebssystem speichert die Einstellungswerte dauerhaft, damit sie vom Benutzer oder dem auszuführenden Programm festgelegt und referenziert werden können. Einige können durch den Vorgang des Benutzers explizit erstellt oder geändert werden. Wenn Sie sich nicht sicher sind, können Sie dies verstehen, indem Sie den Befehl ** printenv ** (überprüfen Sie, ob die Umgebungsvariablen festgelegt sind) im Terminal ausführen.

Da es aus Sicherheitsgründen nicht gut ist, den privaten oder öffentlichen Schlüssel direkt an den Code anzuhängen, Schreiben Sie den Code wie folgt und schreiben Sie ihn in .bash_profile.   Payjp.api_key = ENV['PAYJP_PRIVATE_KEY']

.bash_profile: ** Einmal beim Anmelden ** Ausgeführt. Beispielsweise wird es geladen, wenn Sie Terminal.app starten. Es ist gut, Umgebungsvariablen festzulegen, die speziell in dieser Datei festgelegt werden sollen.

.bashrc: ** Wird einmal ausgeführt, wenn die Shell gestartet wird **. Wenn Sie in der Befehlszeile auf bash klicken, wird .bashrc erneut geladen. (.Bash_profile wird nicht gelesen) Wenn Sie es jedes Mal festlegen möchten, wenn Sie die Shell starten, fügen Sie die Einstellung in diese Datei ein.

Überprüfen Sie zunächst die Existenz von .bash_profile.

Terminal


$ ls -a

Es war nicht mein Fall. Erstellen Sie eine leere Datei mit dem Befehl ** touch **.

Terminal


$ touch ~/.bash_profile
$ touch ~/.bashrc

Bestätigen Sie, dass die Datei erstellt wurde. (Wenn es nicht angezeigt wird, führen Sie den folgenden Befehl unverändert aus.)

Terminal


$ ls -a

//Beispiel
.bash_profile	.gitignore	Gemfile		Rakefile	config
.bashrc		public		.ruby-version	Gemfile.lock	app		

Terminal


$ vim ~/.bash_profile

Beschrieben in .bash_profile.

.bash_profile


//Drücken Sie zuerst "i", um den Einfügemodus aufzurufen.
export PAYJP_ACCESS_KEY='sk_test_*************'
export PAYJP_PUBLIC_KEY='pk_test_*************'
//Esc-Schlüssel=> :In der Reihenfolge von wq.bash_Profil verlassen

Stellen Sie nach dem Schreiben der Umgebungsvariablen am Ende sicher, dass Sie die Einstellungen mit dem folgenden Befehl aktivieren.

Terminal


$ source ~/.bash_profile

abschließend

Das ist alles für die Einführung von PAY.JP. Es gibt verschiedene Artikel zur Implementierung der Kreditkartenregistrierungsfunktion. Bitte beziehen Sie sich auf jeden Artikel.

Referenzartikel

[Kauffunktion mit Payjp in Rails implementieren] (https://qiita.com/suzy1031/items/7964829086eb929471a6) [Implementieren von Funktionen zum Registrieren und Löschen von Kreditkarten mit Payjp (Rails)] (https://qiita.com/takachan_coding/items/f7e70794b9ca03b559dd) [[Rails] Implementierung der Zahlungsfunktion mit payjp ① ~ Kreditkartenregistrierung ~] (https://qiita.com/dice9494/items/4aa04da1056d1f15919e) [Zusammenfassung von .bash_profile und .bashrc] (https://qiita.com/takutoki/items/021b804b9957fe65e093)

Recommended Posts

[Rails] Einführung von PAY.JP
Einführung von pay.jp
Einführung von Milkode
[Rails 6] cocoon_ Einführung
[Ruby on Rails] Einführung der Anfangsdaten
[Ruby on Rails] Bis zur Einführung von RSpec
[Rails] entwickeln eine Einführungsmethode
Einführung der Benutzerauthentifizierung
Implementierung der Ajax-Entfernung in Rails
[Docker] Einführung in die grundlegende Docker-Anweisung
Verwendung des booleschen Rails-Typs
[Rails] Implementierung der Kategoriefunktion
[Rails] Implementierung der Tutorial-Funktion
[Rails] Implementierung einer ähnlichen Funktion
[Rails] Japanische Lokalisierung von Fehlermeldungen
Einführung von javaFX in Eclipse (April 2020)
[Rails] Implementierung der CSV-Importfunktion
[Rails] Asynchrone Implementierung der Like-Funktion
[Schienen] Listen Sie Instanzen mehrerer Modelle auf
[Schienen] Überprüfen Sie den Inhalt des Objekts
[Rails] Implementierung der Bildvorschau
Grundkenntnisse in Ruby on Rails
Rails Buchbesprechung App RSpec Einführung
Erläuterung der Reihenfolge der Schienenrouten
[Rails] Über die Implementierung der Like-Funktion
[Rails] Implementierung der Benutzerrückzugsfunktion
[Rails] Implementierung der CSV-Exportfunktion
[Rails] Zusammenfassung der komplizierten Routing-Konfiguration
Überprüfen Sie den Migrationsstatus von Schienen
[Rails] Implementierung von Viele-zu-Viele-Kategoriefunktionen
[Rails] Unterschiede und Verwendung von each_with_index und each.with_index
Von der Einführung bis zur Verwendung von byebug
[Schienen] Arten von Assoziationen (Eins-zu-Viele / Viele-zu-Viele)
[Einführung in Rails] Verwendung von Render
[Spezifische Verwendung von before_action] Rails-Refactoring
Vom Ziehen des Docker-Images der Schienen bis zum Starten
[Rails] Temporäre Aufbewahrung von Daten pro Sitzung
Die Identität der Schienenparameter [: id]
Schienen Hinzufügen einer einfachen Anmeldefunktion
[Rails] Liste der in Controller definierten Aktionen
[Rails 6.0] Informationen zum Batch-Speichern mehrerer Datensätze
[Inhouse-Lernsitzung] Einführung von "Readable Code"
[Rails] Ändern Sie den Labelnamen von f.label
Rails [Für Anfänger] Implementierung der Kommentarfunktion
Produktion persönlicher Anwendungen 2 Einführung der WEB-Schriftart