Ich habe Railscasts bei der Implementierung von Paypal Standardzahlungen verfolgt. Beim Empfangen von IPN-Benachrichtigungen erkannte ich, dass ich keine Artikelspezifikationen wie item_name, item_number, & quantity
erhielt. Nach einigen Untersuchungen, ich dachte, ich sich in meinem Controller falsch geschrieben hatte, als PayPal die Variablen als item_name1
sendet, item_number1
, quantity1
, item_name2
, item_number2
, quantity2
und so weiterPayPal IPN - Paypal Website Standard
Ich habe den Railscasts Setup bekommt. Die Meldungen kommen über einen Controller
PaymentNotificationsController < ApplicationController
protect_from_forgery except: [:create]
def create
PaymentNotification.create!(params: params,
item_number: params[:item_number], item_name: params[:item_name], quantity: params[:quantity]
render nothing: true
end
In einem Fall, in dem ein Auftrag mehrere Elemente hat, wäre es item_name1
, item_name2
, item_name3
und so weiter sein. Was ist der richtige Weg, um diese Variablen zu benennen, um die paypal IPN-Benachrichtigungen akzeptieren zu können, ohne für jedes zusätzliche Element eine Spalte hinzuzufügen?
Vielen Dank im Voraus!
Sie können die 'params' vor dem Aufruf von' PaymentNotification.create! 'Betrachten. Mache 'params.include? (: Item_name1)', um zu prüfen, ob es einen solchen Schlüssel gibt, und wenn ja, überprüfe, wie viele Items vorhanden sind, indem du die Parameter 'item_name2',' item_name3' usw. durchsuchst, bis du a findest fehlender Param. –
@ RoryO'Kane Wenn es Ihnen nichts ausmacht, können Sie ein Beispiel als Antwort schreiben? –