[RUBY] [Schienen] gem'payjp'implementierungsverfahren

  1. Installieren Sie gem'payjp '

2. Auftragssteuerung anlegen und beschreiben

  def index
    @order = Order.new
  end

  def create
    @order = Order.new(price: order_params[:price])
    #@Preis zu bestellen="1000"Preis gibt ein
    if @order.valid?
      #Bedingungen zum Speichern(Nicht leer)Wenn Sie löschen, werden Zahlung und Daten gespeichert
      pay_item#Eine Zahlung tätigen
      @order.save#Daten speichern
      return redirect_to root_path
    else
      render 'index'
    end
  end

  private
  def order_params
    params.permit(:price, :token)#Spalten, die die Datenspeicherung ermöglichen
  end
  def pay_item
    Payjp.api_key = ENV["PAYJP_SECRET_KEY"]  # PAY.JP test privater Schlüssel
    Payjp::Charge.create(
      amount: order_params[:price],  #Produktpreis
      card: order_params[:token],    #Kartenmarker
      currency:'jpy'                 #Währungstyp(Japanische YEN)
    )
  end
end

-Token (Karteninformationen) wird nicht in der Auftragstabelle gespeichert. Verwenden Sie für @order also price: order_params [: price] Die vom Benutzer eingegebenen Preis-Preis-Informationen werden ersetzt.

・ Die Zahlung erfolgt über pay_item Preis: 1000 mit @ order.save, Preisinformationen in Tabelle speichern

3 Beschreiben Sie die Validierungsinformationen im Modell

class Order < ApplicationRecord
validates :price, presence: true
end

・ Was ist Validierung? Bedingungen zum Speichern von Daten in einer Tabelle

・ Diesmal, wenn Sie mit leerem Preis-Eingabefeld senden Ich versuche die Daten nicht zu speichern.

・ Da Token (Kreditkarteninformationen) nicht in der Tabelle gespeichert ist, wird die Validierung durchgeführt Beschreiben Sie nicht die Lagerbedingungen.

Recommended Posts

[Schienen] gem'payjp'implementierungsverfahren
[Rails] Memo zur Implementierung der Kommentarfunktion
Rails Grundgerüst für die Implementierung der CRUD-Funktion
Implementierung der Rails-Hashtag-Suche
Implementierung des Rails6-Countdown-Timers
Implementierung von Rails Action Text
[Rails 6.0] Implementierungsverfahren für "Easy Login" für das Portfolio erforderlich
Rails Heroku-Bereitstellungsverfahren
Schienen, RSpec-Installationsverfahren
Implementierung der Ajax-Entfernung in Rails
Implementierung der Fuzzy-Suchfunktion für Schienen
[Rails] Implementierung der Kategoriefunktion
[Rails] Implementierung der Tutorial-Funktion
[Rails] Implementierung einer ähnlichen Funktion
[Rails] Implementierung des logischen Löschens durch den Benutzer
[Rails] Implementierung der CSV-Importfunktion
[Rails] Asynchrone Implementierung der Like-Funktion
[Rails] Implementierung des Anmeldebildschirms in Devise
[Rails] Implementierung der Bildvorschau
[Implementierungsverfahren] Erstellen Sie eine Benutzerauthentifizierungsfunktion mithilfe von Hexerei in Rails
[Rails] Über die Implementierung der Like-Funktion
[Rails] Implementierung der Benutzerrückzugsfunktion
[Rails] Implementierung der CSV-Exportfunktion
Konstruktionsverfahren für Rails on Docker-Umgebungen
[Rails] Implementierung von Viele-zu-Viele-Kategoriefunktionen
Implementierung der Funktionsfunktion [Rails] gem ancestry category
[Ruby on Rails] Implementierung der Kommentarfunktion
[EC2 / Vue / Rails] EC2-Bereitstellungsverfahren für Vue + Rails
[Rails] Ich werde die Prozedur zum Implementieren der Follow-Funktion mit form_with erklären.
[Ruby on Rails] Folgen Sie der Funktionsimplementierung: Bidirektional
Rails [Für Anfänger] Implementierung der Kommentarfunktion
[Ruby on Rails] Implementierung einer ähnlichen Funktion
[Rails] Implementierung einer Validierung, die die Eindeutigkeit beibehält
[Rails / Heroku] Fehlerbehebungsverfahren nach dem Drücken
[Rails / devise] Implementierung der Funktion zum Bearbeiten von Kontoinformationen / Verfahren zum Ändern des Umleitungsziels
[Rails] Implementierungsverfahren, wenn der Buchungsfunktion öffentliche / private Funktionen hinzugefügt werden