2014-03-24 9 views
5

ich wie ein großer Teil der Dokumentation fühlen auf diese veraltet ist, aber das ist, was ich bisher versucht:„Das Token ist ungültig“, wenn Paypal wiederkehrende Zahlungen zu Setup mit ActiveMerchant versuchen

ich verwende die ActiveMerchant::Billing::PaypalExpressGateway Gateway.

Zuerst habe ich Setup den Kauf und leiten den Benutzer zu Paypal:

response = gateway.setup_purchase price, 
    return_url: <confirm url>, 
    cancel_return_url: <cancel url>, 
    items: [ 
    { 
     name: 'My Item', 
     quantity: 1, 
     description: "My Item Description", 
     amount: price 
    } 
    ] 
redirect_to gateway.redirect_url_for(response.token) 

Dies funktioniert, kann ich als Käufer Sandbox anmelden und die Zahlung bestätigen, die mich von oben bis <confirm url> zurück bringt. In der Bestätigung, das tue ich:

response = gateway.recurring price, nil, 
    token: params[:token], 
    period: 'Year', 
    frequency: 1, 
    start_date: Time.now, 
    description: 'My Item Subscription' 

Wenn ich das tue, erhalte ich einen ungültigen Token Fehler von Paypal in der response variabel. Das Token scheint in Ordnung zu sein, es ist in der URL vorhanden, wenn ich zurück zur Bestätigungs-URL gebracht werde. Ich nehme es dann direkt (params[:token]) und schicke es zurück an Paypal.

Mache ich etwas völlig falsch? Wie ich schon sagte, es scheint, als wäre die Dokumentation für diese Art von Prozess veraltet (oder was ich versuche ist das Zeug, das veraltet ist)

+0

Wir haben keine wiederkehrenden Zahlungen eingerichtet, aber wir haben Paypal Express-Gateway arbeiten für ActiveMerchant arbeiten bei http://firststopcosmeticeshop.co.uk (Dev-App) -> möchten Sie mich Code einfügen? –

+0

@RichPeck: Ich versuche die Express-Kasse, aber ich stehe [diese] (http://stackoverflow.com/questions/22809440/test-paypal-express-gateway-redirecting-to-live-and-not-) Sandbox) Problem. Kannst du bitte helfen – nish

Antwort

1

Nach dem Durchschauen des Quellcodes für ActiveMerchant's Paypal Express Checkout Gateway kam ich zu dem Schluss, dass es im Umgang mit wiederkehrenden Zahlungen einfach veraltet ist. Ich wechselte stattdessen zum paypal-recurring Juwel und alles hat gut funktioniert.