Payum Paypal Rest config_path

2019-03-01 13:52发布

I am trying to implement paypal-rest payment with the payum bundle in symfony (3.1.4). I need to get PayPal Plus running in my Symfony App. Therefore I read this article https://github.com/Payum/Payum/blob/master/docs/paypal/rest/get-it-started.md

Now - I can't figure out what the 'config_path' parameter is ment to be set to and what exactly has to be provides at this config_path.

Symfony states

'The config_path fields are required.'

My payum config looks like this atm

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

The paypal_express_payment part works fine.

If I add just a random config-path like 'my_config.txt' Symfony states

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.

So - where and what is the config_path ment to be?

Any help or hints for more documentation that can lead into the right direction is very welcome.

2条回答
疯言疯语
2楼-- · 2019-03-01 14:17

Try to set it to default value like this:

paypal_rest_payment:
    factory: paypal_rest
    client_id:      "%ppr_cid%"
    client_secret:  "%ppr_sec%"
    sandbox: true
    config_path: ~
查看更多
家丑人穷心不美
3楼-- · 2019-03-01 14:37

It's meant to be sdk_config.ini from 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'

UPDATE: I don't think that Doctrine ORM storage is supported by Payum PaypalRest plugin. PaypalRest\Action\CaptureAction requires the model (Payment) to be inherited from PayPal\Api\Payment and then it uses its create and execute methods for payment capture. I don't think it's a good idea to extend from PayPal\Api\Payment in the Doctrine entity.

I was able to eliminate this error by using Payum\Paypal\Rest\Model\PaymentDetails as a payment and filesystem as a storage:

payum:
    storages:
        Payum\Paypal\Rest\Model\PaymentDetails:
            filesystem:
                storage_dir: %kernel.root_dir%/Resources/payments
                id_property: idStorage
查看更多
登录 后发表回答