2017-05-19 2 views
0

J'essaie d'implémenter le paiement paypal-repos avec le bundle payum dans symfony (3.1.4). Je dois faire fonctionner PayPal Plus dans mon application Symfony. donc je lis cet article https://github.com/Payum/Payum/blob/master/docs/paypal/rest/get-it-started.mdPayum Paypal Reste config_path

maintenant - Je ne peux pas comprendre ce que le paramètre « config_path » est ment être réglé sur et ce qui a exactement être fournit à ce config_path.

Symfony déclare

'The config_path fields are required.' 

Ma config payum ressemble cette atmosphère

payum: 
    security: 
     token_storage: 
      AppBundle\Entity\PaymentToken: { doctrine: orm } 

    storages: 
     AppBundle\Entity\Payment: { doctrine: orm } 

    gateways: 
     paypal_express_payment: 
      factory: paypal_express_checkout 
      username: "%ppe_uname%" 
      password: "%ppe_pw%" 
      signature: "%ppe_signature%" 
      sandbox: false 
     paypal_rest_payment: 
      factory: paypal_rest 
      client_id:  "%ppr_cid%" 
      client_secret: "%ppr_sec%" 
      sandbox: true 

La partie paypal_express_payment fonctionne très bien.

Si j'ajouter juste une config-chemin aléatoire comme 'my_config.txt' Symfony déclare

Request GetHumanStatus{model: ArrayObject} is not supported. Make sure the gateway supports the requests and there is an action which supports this request (The method returns true). There may be a bug, so look for a related issue on the issue tracker. 

Alors - où et quel est le MENT config_path être?

Toute aide ou conseils pour plus de documentation pouvant vous guider dans la bonne direction est la bienvenue.

Répondre

1

Il est censé être sdk_config.ini de PayPal-PHP-SDK

gateways: 
    paypal_rest: 
     factory: paypal_rest 
     client_id: '%paypal_rest.client_id%' 
     client_secret: '%paypal_rest.client_secret%' 
     config_path: '%kernel.root_dir%/config/sdk_config.ini' 

MISE À JOUR: Je ne pense pas que le stockage Doctrine ORM est supporté par Payum PaypalRest plugin. PaypalRest\Action\CaptureAction nécessite que le modèle (Paiement) soit hérité de PayPal \ Api \ Payment, puis il utilise ses méthodes create et execute pour la capture de paiement. Je ne pense pas que ce soit une bonne idée de s'étendre de PayPal \ Api \ Payment dans l'entité Doctrine.

j'ai pu éliminer cette erreur en utilisant Payum\Paypal\Rest\Model\PaymentDetails comme un paiement et système de fichiers en tant que stockage:

payum: 
    storages: 
     Payum\Paypal\Rest\Model\PaymentDetails: 
      filesystem: 
       storage_dir: %kernel.root_dir%/Resources/payments 
       id_property: idStorage 
+0

Merci. Cela a l'air très raisonnable. Cependant, j'ai toujours cette erreur: 'GetHumanStatus {model: ArrayObject} n'est pas supporté. Assurez-vous que la passerelle prend en charge les demandes et qu'une action prend en charge cette requête (La méthode renvoie true). Il peut y avoir un bug, donc chercher une question connexe sur la question tracker.' @karser – user3440145

+0

Toute indication sur la façon d'utiliser la classe « PaymentDetails » de payum paypal repos dans mon config.yml pour spécifier le stockage? Il semble que cette partie manque ... – user3440145

+0

@ user3440145 En effet, la documentation est manquante. J'ai fait des progrès et éliminé l'erreur. J'ai mis à jour la réponse. – karser

0

Essayez de mettre à valeur par défaut comme ceci:

paypal_rest_payment: 
    factory: paypal_rest 
    client_id:  "%ppr_cid%" 
    client_secret: "%ppr_sec%" 
    sandbox: true 
    config_path: ~