PayPal erreur: Cette opération n'est pas valide. Veuillez retourner à la destinataire de site internet pour compléter votre transaction à l'aide régulière de la caisse des flux de
J'essayais de mettre en œuvre la passerelle de paiement paypal.
Mais j'obtiens une erreur:
This transaction is invalid. Please return to the recipient's website to complete your transaction using their regular checkout flow.
Gem Fichier
gem 'activemerchant', :require => 'active_merchant'
En développement.rb
config.after_initialize do
ActiveMerchant::Billing::Base.mode = :test
paypal_options = {
:login => "************",
:password => "************",
:signature => "************",
}
::STANDARD_GATEWAY = ActiveMerchant::Billing::PaypalGateway.new(paypal_options)
::EXPRESS_GATEWAY = ActiveMerchant::Billing::PaypalExpressGateway.new(paypal_options)
end
Exemple de code que j'utilisais pour mon contrôleur
response = EXPRESS_GATEWAY.setup_purchase(10000,
:ip => request.remote_ip,
:return_url => new_order_url,
:cancel_return_url => orders_url
)
p response
p response.token
redirect_to EXPRESS_GATEWAY.redirect_url_for(response.token)
O/p pour la réponse:
#<ActiveMerchant::Billing::PaypalExpressResponse:0x007f90bbababa0 @params={"timestamp"=>"2011-12-17T21:41:21Z", "ack"=>"Failure", "correlation_id"=>"c152e1862f475", "version"=>"62.0", "build"=>"2271164", "message"=>"Security header is not valid", "error_codes"=>"10002", "Timestamp"=>"2011-12-17T21:41:21Z", "Ack"=>"Failure", "CorrelationID"=>"c152e1862f475", "Errors"=>{"ShortMessage"=>"Security error", "LongMessage"=>"Security header is not valid", "ErrorCode"=>"10002", "SeverityCode"=>"Error"}, "Version"=>"62.0", "Build"=>"2271164"}, @message="Security header is not valid", @success=false, @test=true, @authorization=nil, @fraud_review=false, @avs_result={"code"=>nil, "message"=>nil, "street_match"=>nil, "postal_match"=>nil}, @cvv_result={"code"=>nil, "message"=>nil}>
o/p pour la réponse.jeton
nil
Donc je pense que le problème est la réponse.jeton est nul
des suggestions pourquoi ce qui se passe?
Vous devez vous connecter pour publier un commentaire.
Probablement la première chose que vous avez coché mais sont le login, mot de passe et signature pour le bac à sable de l'utilisateur et non pas votre propre connexion à la sandbox. Vous devez ouvrir une session dans le bac à sable utilisateurs de compte et de le faire signer à partir de là.
Ainsi, lorsque vous vous connectez à sandbox.paypal.com puis passez à l'Essai de Comptes, sélectionnez celui que vous voulez les détails, puis appuyez sur Enter Sandbox Site de Test. Dans la nouvelle fenêtre, saisissez les détails pour le faux de l'utilisateur (e-mail doit être remplie au préalable). Une fois connecté, allez sur Profil -> l'Accès à l'API et de la demande ou de la vue de la signature API.
Désolé si vous avez déjà essayé cela, mais je n'arrivais pas à poster un commentaire pour demander 😉