Giter Club home page Giter Club logo

payumbundle's Introduction

SWUbanner


Supporting Payum

Payum is an MIT-licensed open source project with its ongoing development made possible entirely by the support of community and our customers. If you'd like to join them, please consider:


Payum

Join the chat at https://gitter.im/Payum/Payum Unit Tests Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

Reduce Your Development Time with Payum integrating more than 50 payment services simultaneously. Payum is one of the most popular bug-free solution that has over 1 000 000 downloads already. It is friendly for all top PHP frameworks and was successfully installed and tested by thousands of developers worldwide

Resources

License

Payum is released under the MIT License.

Sponsors

payumbundle's People

Contributors

aerendir avatar aitboudad avatar antonioperic avatar askozienko avatar chris53897 avatar chris8934 avatar davidmpaz avatar garak avatar great-antique avatar hacfi avatar jcroll avatar kg-itembase avatar kkevindev avatar makasim avatar mgrinko avatar mvar avatar nyholm avatar pamil avatar pantelm avatar pantelm-florajet avatar pborreli avatar pierredup avatar piotrantosik avatar realaestan avatar ruslan-polutsygan avatar saidul avatar serdyuka avatar sovetski avatar tetragramat avatar winzou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

payumbundle's Issues

cache clear service declaration

From time to time (not always) I am getting this error when clearing my cache.. Is my configuration wrognly defined?

[Symfony\Component\DependencyInjection\Exception\RuntimeException]
The parent definition "payum.storage.doctrine.orm" defined for definition "payum.context.buy_chips_paypal.storage" does not exist.

Request Payum\Request\BinaryMaskStatusRequest is not supported.

Hello,

Recently i am getting the following error

Request Payum\Request\BinaryMaskStatusRequest is not supported.

I never had this before until i decided to start changing the code because i noticed a lot of differences between my code and the code on the payum-bundle docs

This is my current prepare action:

 $paymentName = 'paypal_express_checkout_plus_doctrine';

        $item = $purchase->getShop();


        $data = array(
            "currency"  =>  "GBP",
        );
        $storage = $this->container->get('payum')->getStorageForClass(
            'MyName\MyBundle\Entity\PaypalExpressPaymentDetails',
            $paymentName
        );
        /** @var $paymentDetails PaymentDetails */
        $paymentDetails = $storage->createModel();
        $paymentDetails['PAYMENTREQUEST_0_CURRENCYCODE'] = $data['currency'];
        $paymentDetails['PAYMENTREQUEST_0_AMT']          = $item->getAmount() * 1;
        $paymentDetails['PAYMENTREQUEST_0_ITEMCATEGORY'] = Api::PAYMENTREQUEST_ITERMCATEGORY_PHYSICAL;
        $paymentDetails['PAYMENTREQUEST_0_QTY']          = 1;
        $paymentDetails['PAYMENTREQUEST_0_NAME']         = $item->getName();
        $paymentDetails['PAYMENTREQUEST_0_DESC']         = htmlentities($item->getDescription());
        $paymentDetails['PAYMENTREQUEST_0_CUSTOM']       = $purchase->getId();

        $storage->updateModel($paymentDetails);

        $notifyToken = $this->getTokenFactory()->createNotifyToken($paymentName, $paymentDetails);
        $captureToken = $this->getTokenFactory()->createCaptureToken(
            $paymentName,
            $paymentDetails,
            'paypal_done'
        );

        $paymentDetails['INVNUM']    = $paymentDetails->getId();
        $paymentDetails['RETURNURL'] = $captureToken->getTargetUrl();
        $paymentDetails['CANCELURL'] = $captureToken->getTargetUrl();
        $paymentDetails['PAYMENTREQUEST_0_NOTIFYURL'] = $notifyToken->getTargetUrl();

        $storage->updateModel($paymentDetails);

        return $this->redirect($captureToken->getTargetUrl());

I also noticed that documents are contrary to each other, the sandbox examples tell me to use something different than the payum doc site so i am a bit confused atm.

I also dont get any other logs except for this 1 rule:

[2013-10-30 13:29:26] app.ERROR: [ERROR]: Request Payum\Request\BinaryMaskStatusRequest is not supported. with code: 0 [] []

Already thanks in advance, i know you have been busy lately and that it is very hard to keep up the support, just a kind word, you are doing well lately!

Add timestampable to SecurityToken

Hey,

There are quite a lot of SecurityToken that are not deleted.

It could be nice to have this entity timestampable, so that we can purge them based on creationDate and modificationDate. Currently we don't have any date, so it's impossible to purge anything.

What do you think?

Class 'Payum\Bridge\Doctrine\Entity\Token' not found

Hello
I am setting "payum / payum-bundle": "dev-master" but I get an error.

Class 'Payum\Bridge\Doctrine\Entity\Token' not found in /home/eloy/www/proditive/src/Eloryan/TiendaBundle/Entity/PayumSecurityToken.php on line 13

I do not know what I do wrong

Thanks
Sorry for my english

namespace Eloryan\TiendaBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Payum\Bridge\Doctrine\Entity\Token;


/**
 * @ORM\Table(name="payum_security_token")
 * @ORM\Entity
 */
class PayumSecurityToken extends Token
{

}

My settings

#payum.yml
doctrine:
   orm:
      entity_managers:
          default:
            mappings:
              payum:
                is_bundle: false
                type: xml
                dir: "%kernel.root_dir%/../vendor/payum/payum/src/Payum/Bridge/Doctrine/Resources/mapping"
                prefix: Payum\Bridge\Doctrine\Entity

payum:
    security:
        token_storage:
            Eloryan\TiendaBundle\Entity\PayumSecurityToken:
                doctrine:
                    driver: orm

The PAYMENTREQEUST_0_AMT must be set

Hi Folks,

I am trying to use Payum to recurring payments with paypal. When I go to capture token screen, I got this error:

The PAYMENTREQEUST_0_AMT must be set.

Any idea?

How to Identify the user

Hi Folks,

I am using PayumBundle with PayPal Recurring payment. Its working fine. The problem is: How can I identify the user who purchased my item; What about the expiration in case the recurring payment fails.. How do you usually handle these attributes?

No order summary info on Paypal Express Checkout.

Paypal does not show products.
It only displays "description"
I do not know how to continue.
Please someone tell me how to add the name, the amount ...
Thank you very much

seleccin_007

                $paymentName = 'pagoPaypal';

                $storage = $this->get('payum')->getStorageForClass(
                    'Eloryan\TiendaBundle\Entity\PaymentDetails',
                    $paymentName
                );

                /** @var $paymentDetails PaymentDetails */
                $paymentDetails = $storage->createModel();  

                $paymentDetails['PAYMENTREQUEST_0_CURRENCYCODE'] = 'EUR';
                $paymentDetails['PAYMENTREQUEST_0_AMT'] = 1.23;               
                $paymentDetails['PAYMENTREQUEST_0_AMT'] = 50.4;
                $paymentDetails['PAYMENTREQUEST_0_DESC'] = 'description';
                $paymentDetails['PAYMENTREQUEST_0_NAME'] = 'name';
                $paymentDetails['PAYMENTREQUEST_0_QTY'] = 9;




                $storage->updateModel($paymentDetails);

                $captureToken = $this->get('payum.security.token_factory')->createCaptureToken(
                    $paymentName,
                    $paymentDetails,
                    'tienda_homepage' // the route to redirect after capture;
                );

                $paymentDetails['INVNUM'] = $paymentDetails->getId();
                $paymentDetails['RETURNURL'] = $captureToken->getTargetUrl();
                $paymentDetails['CANCELURL'] = $captureToken->getTargetUrl();
                $storage->updateModel($paymentDetails);

                return $this->redirect($captureToken->getTargetUrl());

I do not know if this is correct

<?php

namespace Eloryan\TiendaBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

use Payum\Model\ArrayObject;


/**
 * @ORM\Table(name="payum_payment_details")
 * @ORM\Entity
 */


class PaymentDetails extends ArrayObject{
     /**
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     *
     * @var integer $id
     */
    protected $id;   


    public function getId()
    {
        return $this->id;
    }


    /**
     * @ORM\Column(type="json_array")
     */
    protected $l_paymentrequest_nnn_qtymmm = array();


    /**
     * @ORM\Column(type="json_array")
     */
    protected $l_paymentrequest_nnn_namemmm = array();

    /**
     * @ORM\Column(type="json_array")
     */
    protected $l_paymentrequest_nnn_descmmm = array();

    /**
     * @ORM\Column(type="json_array")
     */
    protected $l_paymentrequest_nnn_amtmmm = array();

    /**
     * @ORM\Column(type="json_array")
     */
    protected $l_paymentrequest_nnn_itemcategorymmm = array();

}

?>

Is it possible to postpone confirmation of paypal transaction ?

Hello.

I have such case to handle:

Order is created, with one subscription, and one one-time payment. I am using paypal as payment method. This means I have two redirects to paypal, one for each transaction type.

I would like to confirm these transactions after both of them are confirmed by the client (after second paypal transaction), so that I won't have situation where client leaves after first paypal transaction, leaving the second unfinished. After second paypal transaction I want to finally confirm both of them.

Is it possible to handle such case with this bundle out of the box ? If not, could you give me a hint on how could I implement such behavior using payum ?

No order summary info on Paypal Express Checkout.

Hi all

I know this question has been asked few times before but I still couldn't fix it. My PayPal page only displays "Current purchase" and "You'll be able to see your order details before you pay" in the order summary box.

screen shot 2013-10-30 at 1 05 01 pm

I have already set the line item in the payment details as PayumBundleSandbox said:

public function preparePaypalPaymentAction()
{
    $paymentName = 'hypebeast_auction_paypal';

    /** @var $storage DoctrineStorage */
    $storage = $this->get('payum')->getStorageForClass(
        'Hypebeast\AuctionBundle\Entity\PaypalExpressPaymentDetails',
        $paymentName
    );

    /** @var $paymentDetails PaypalExpressPaymentDetails */
    $paymentDetails = $storage->createModel();
    $paymentDetails->setPaymentrequestCurrencycode(0, 'USD');
    $paymentDetails->setPaymentrequestAmt(0, 12);

    $paymentDetails->setNoshipping(Api::NOSHIPPING_NOT_DISPLAY_ADDRESS);
    $paymentDetails->setReqconfirmshipping(Api::REQCONFIRMSHIPPING_NOT_REQUIRED);
    $paymentDetails->setLPaymentrequestItemcategory(0, 0, Api::PAYMENTREQUEST_ITERMCATEGORY_DIGITAL);
    $paymentDetails->setLPaymentrequestName(0, 0, 'A first product name');
    $paymentDetails->setLPaymentrequestDesc(0, 0, 'A first product desc');
    $paymentDetails->setLPaymentrequestQty(0, 0, 1);
    $paymentDetails->setLPaymentrequestAmt(0, 0, 12);

    $storage->updateModel($paymentDetails);

    $captureToken = $this->get('payum.security.token_factory')->createCaptureToken(
        $paymentName,
        $paymentDetails,
        'auction_payment_done' // the route to redirect after capture;
    );

    $paymentDetails->setInvnum($paymentDetails->getId());
    $paymentDetails->setReturnurl($captureToken->getTargetUrl());
    $paymentDetails->setCancelurl($captureToken->getTargetUrl());

    $storage->updateModel($paymentDetails);

    return $this->redirect($captureToken->getTargetUrl());
}

Do I need to make further changes in elsewhere in order for this to work?

Thanks
Ka Yue

How to get the custom field and transaction id

Hello

I am wondering how i can read the custom field in my NotificationAction (paypal)

This is the code that i am using at the moment

public function execute($request)
    {
        /** @var NotifyTokenizedDetailsRequest $request */

        $notification = new NotificationDetails;
        $notification->setPaymentName($request->getTokenizedDetails()->getPaymentName());
        $notification->setDetails($request->getNotification());
        $notification->setCreatedAt(new \DateTime);
        $em = $this->doctrine;
        $em->persist($notification);

        $em->flush();

    //here should come the Custom field
    }

PS: sorry for being such a pain with my many requests lately

Paypal not calling my ipn ?

It seems that paypal is not calling the notification, this is my code

use Maxim\CMSBundle\Entity\NotificationDetails;
use Payum\Action\ActionInterface;
use Payum\Request\NotifyTokenizedDetailsRequest;
use Symfony\Bridge\Doctrine\RegistryInterface;
use Maxim\CMSBundle\Entity\Visitor;

class StoreNotificationAction implements ActionInterface
{
    protected $doctrine;
    protected $logger;

    public function __construct(RegistryInterface $doctrine, $logger) {
        $this->doctrine = $doctrine;
        $this->logger   = $logger;
    }

    /**
     * {@inheritDoc}
     */
    public function execute($request)
    {
        /** @var NotifyTokenizedDetailsRequest $request */
        $this->logger->err("hi");
        $notification = new NotificationDetails;
        $notification->setPaymentName($request->getTokenizedDetails()->getPaymentName());
        $notification->setDetails($request->getNotification());
        $notification->setCreatedAt(new \DateTime);
        $this->doctrine->getManager()->persist($notification);

        $this->doctrine->getManager()->flush();
    }

    /**
     * {@inheritDoc}
     */
    public function supports($request)
    {
        return $request instanceof NotifyTokenizedDetailsRequest;
    }
}

which i am calling with a service defined in services.yml and also this is my configuration according to the git example:

payum:
    contexts:
        paypal_express_checkout_plus_doctrine:
            paypal_express_checkout_nvp:
                api:
                    options:
                        username:  'MYUSER'
                        password:  'MYPAS'
                        signature: 'MYSIGNATURE'
                        sandbox: true
                actions:
                    - myname.action.store_notification
            storages:
                myname\mybundle\Entity\PaypalExpressPaymentDetails:
                    doctrine:
                        driver: orm
                        payment_extension: true
                myname\mybundle\Entity\TokenizedDetails:
                    doctrine:
                        driver: orm
                        payment_extension: true

Compatibility with Symfony 2.1.*

As documentation says it's 2.1.* standard, it doesn't work on it, as in configuration building 2.2.* method is used:
http://api.symfony.com/2.2/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.html#method_canBeEnabled

It doesn't exist in 2.1 branch:
http://api.symfony.com/2.1/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.html

Please fix requirements to support 2.1, as 2.2 is still beta, and most of people don't want to upgrade to 2.2 as 2.3 LTS comming out soon.

Error is when building configuration after install/cache clear:

$ ./app/console cache:clear
PHP Fatal error:  Call to undefined method Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition::canBeEnabled() in /xxx/vendor/payum/payum-bundle/Payum/Bundle/PayumBundle/DependencyInjection/Factory/Storage/AbstractStorageFactory.php on line 40

InvalidCreditCardException: Card has expired payumBundle not able to handle Omnipay exception in production mode.

when i tried to enter expired year invalid into PayumBundleSandbox (Stripe Via Omnipay) it shows two exception.

[1/2] InvalidCreditCardException: Card has expired
[2/2] LogicException: Omnipay unexpected exception 

if you would like to look at over it please check out below link.
http://sandbox.payum.forma-dev.com/payment/simple_purchase/stripe_via_omnipay/prepare

Please Give me some Solution to fix this Bug in PayumBundleSandBox.

L_PAYMENTREQUEST_0_ITEMCATEGORYn

Hi there,

Just a quick one... Do we have any handler for 'L_PAYMENTREQUEST_0_ITEMCATEGORYn' ?

I am happy to add this if we don't just wonder if I am not simply missing it.

multi article to pass to paypal

hi,
i m trying to put "multi article" i mean to put 3, 4 deferent description in array to pass to paypal.

hare is the easy way to do this ?

thank.

The PAYMENTREQEUST_0_AMT must be set.

Hi there,

I am having issues with my model being not set properly. Could you possibly point out what am I doing wrong?

I am using an example provided in docs for capturing the payment.

Path installation.

hi and thank for this bundle!

my question is i deed all installation explane in you tutorial, and i have one small probleme.
i have SF2.3.5 and PHP: 5.4.20, composer install all automatique at this path :
...\vendor\payum\core\Payum\Core
...\vendor\payum\payum-bundle\Payum\Bundle\PayumBundle

so i have then probleme with the configuration of config.php.

i want to know if it will give more probleme in future i mean the defferente path.
Ps: sorry for my bad english

Payum and Sylius

Hi, I'm using PayumBundle with Sylius and I have a little problem with Paypal. It always returns state pending due to a multicurrency issue:

"PAYMENTREQUEST_0_PAYMENTSTATUS":"Pending","PAYMENTREQUEST_0_PENDINGREASON":"multicurrency","PAYMENTREQUEST_0_REASONCODE":"None"

¿Do you know how to solve it?

Thanks! :)

Support for proxy when using PayPal EC

I tried to set a custom buzz client (with a curl proxy) via:

payum:
    contexts:
       my_paypal_payment:
            paypal_express_checkout_nvp:
                api:
                    client: my.buzz.client

and the service defined like this:

my.buzz.client:
        class: Buzz\Client\Curl
        calls:
            - [setOption, [10004, "%proxy_host%:%proxy_port%"]]

10004 is the constant CURLOPT_PROXY.

It works with a NotifyRequest (and it actually uses the proxy), but not when I try to capture a payment. Then I get the message The TOKEN must be set. Have you executed SetExpressCheckoutAction?. This worked without the custom buzz client.

Any ideas?

Express Checkout Issue

Hi

I have a working checkout process using a PayPal sandbox account, but when I change over the API details to a real account, I keep getting a failure.

I've followed the instructions and outputting the actual $status->getModel() I get the following:

"You are not signed up to accept payment for digitally delivered goods."

Do I need to do anything in my PayPal account?

Thanks

Paypal options

Hi,
thank you for your job!
I'm looking for a way to set options paypal with your bundle such as: "SOLUTIONTYPE = Sole", to make sure that users can also pay by credit card without registering.
Is there a way to do this?
thanks

Getting errors after add the Payum bundle to my composer.json file

Coming from this thephpleague/omnipay#106 I'm having some issues trying to install PayumBundle as @makasim suggest I change to use 0.5.x branch but then I get all this errors:

payum/payum suggests installing payum/paypal-express-checkout-nvp (If you want to use paypal express checkout, digital goods or recurring payments)
payum/payum suggests installing payum/paypal-pro-checkout-nvp (If you want to use paypal pro checkout)
payum/payum suggests installing payum/paypal-ipn (If you want to use paypal instant payment notifications(Paypal IPN))
payum/payum suggests installing payum/authorize-net-aim (If you want to use Authorize.Net AIM payment gateway)
payum/payum suggests installing payum/be2bill (If you want to use be2bill payment gateway)
payum/payum suggests installing payum/omnipay-bridge (If you want to use omnipay's gateways)
Writing lock file
Generating autoload files
Updating the "app/config/parameters.yml" file.

[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
Unrecognized options "app_url, server_url" under "security.firewalls.main.bit_facebook"

Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception

[RuntimeException]
An error occurred when executing the "'cache:clear --no-warmup'" command.

install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader]

Should I install those recommendations? If so how? Why my app is broken now?

How to authorize payment

Is there any example how to authorize payment before capture?
If I understand correctly PayumBundle has no predefined methods for payment authorization and ignores Omnipay authorization abilities.
What steps do I need to proceed in order to implement payment authorization (e.g. with Omnipay Dummy)?

Request BinaryMaskStatusRequest{model: PaymentProfile} is not supported.

I dont know why this issue comes with me.
Here is my config

    orm:
        auto_generate_proxy_classes: %kernel.debug%
        auto_mapping: true

        mappings:
            payum:
                is_bundle: false
                type: xml
                dir: %kernel.root_dir%/../vendor/payum/core/Payum/Core/Bridge/Doctrine/Resources/mapping
                prefix: Payum\Core\Model

payum:
    contexts:
        paypalexpress:
            paypal_express_checkout_nvp:
                api:
                    options:
                        username:  'xxx'
                        password:  'wwww'
                        signature: 'xxxx'
                        sandbox: true
            storages:
                Gpl\GplBundle\Entity\PaymentProfile:
                    doctrine:
                        driver: orm
                        payment_extension: true
        stripe:
            omnipay:
                type: Stripe
                options:
                    apiKey: xxxxx
                    testMode: true
            storages:
                Gpl\GplBundle\Entity\PaymentProfile:
                    doctrine:
                        driver: orm
                        payment_extension: true
    security:
        token_storage:
            Gpl\GplBundle\Entity\PaymentToken:
                doctrine:
                    driver: orm

There is also one weird issue during my debug process in file: Payum/Core/Payment.php at line 97

// If i use var_dump right here: var_dump( $this->findActionSupported($request));
// it returns an Action Object
            if (false == $action = $this->findActionSupported($request)) {// if leave the original code, it always false right here.
                throw RequestNotSupportedException::create($request);
            }

            $this->extensions->onExecute($request, $action);

Any replies are thanks in advanced.

Regards.

Issue showing the description on paypal checkout

I am trying to get a purchase to show its description, name and price but nothing is showing up, this is what i get on checkout

http://prntscr.com/1vp82e

The code i am using:

 public function onStorePay(StoreEvent $event)
    {
        ###############################
        # FORWARD TO PAYMENT PROCESSOR
        ###############################
        $paymentName = 'paypal_express_checkout_plus_doctrine';

        $item = $event->getItem();

        $data = array(
            "currency"  =>  "GBP",
            "amount"    =>  $item->getAmount(),
            "item_name" =>  $item->getName(),
            "item_number" => 1,

        );

        $storage = $this->container->get('payum')->getStorageForClass(
            'Maxim\CMSBundle\Entity\PaypalExpressPaymentDetails',
            $paymentName
        );

        /** @var $paymentDetails PaymentDetails */
        $paymentDetails = $storage->createModel();
        $paymentDetails->setPaymentrequestCurrencycode(0, $data['currency']);
        $paymentDetails->setPaymentrequestAmt(0,  $data['amount'] * 1);

        $paymentDetails->setNoshipping(Api::NOSHIPPING_NOT_DISPLAY_ADDRESS);
        $paymentDetails->setReqconfirmshipping(Api::REQCONFIRMSHIPPING_NOT_REQUIRED);
        $paymentDetails->setLPaymentrequestItemcategory(0, 0, Api::PAYMENTREQUEST_ITERMCATEGORY_DIGITAL);
        $paymentDetails->setLPaymentrequestAmt(0, 0, $data['amount']);
        $paymentDetails->setLPaymentrequestQty(0, 0, 1);
        $paymentDetails->setLPaymentrequestName(0, 0, $data['item_name']);
        $paymentDetails->setLPaymentrequestDesc(0, 0, $item->getDescription());

        $storage->updateModel($paymentDetails);

        $notifyToken = $this->token_factory->createNotifyToken($paymentName, $paymentDetails);

        $captureToken = $this->token_factory->createCaptureToken(
            $paymentName,
            $paymentDetails,
            'paypal_done'
        );

        $paymentDetails->setReturnurl($captureToken->getTargetUrl());
        $paymentDetails->setCancelurl($captureToken->getTargetUrl());
        $paymentDetails->setPaymentrequestNotifyurl(0, $notifyToken->getTargetUrl());
        $this->logger->err($notifyToken->getTargetUrl());
        $paymentDetails->setInvnum($paymentDetails->getId());
        $storage->updateModel($paymentDetails);

        $event->setCaptureToken($captureToken->getTargetUrl());
        return;
    }
```php

NOTIFY parameter in 0.7

Hello

I would like to know how you can pass the notifyurl to paypal and tell them to call it, i am on the 0.7 branch and i have the array field where it stores all the info, this is what i currently have:

$storage = $this->get('payum')->getStorageForClass(
            'MyName\MyBundle\Entity\PaymentDetails',
            $paymentName
        );

        /** @var $paymentDetails PaymentDetails */
        $paymentDetails = $storage->createModel();
        $paymentDetails['PAYMENTREQUEST_0_CURRENCYCODE'] = $data['currency'];
        $paymentDetails['PAYMENTREQUEST_0_AMT']          = $item->getAmount() * 1;
        $paymentDetails['PAYMENTREQUEST_0_TAXAMT']       = number_format($item->getAmount() * 0.2, 2);
        $paymentDetails['PAYMENTREQUEST_0_ITEMCATEGORY'] = Api::PAYMENTREQUEST_ITERMCATEGORY_PHYSICAL;
        $paymentDetails['PAYMENTREQUEST_0_QTY']          = 1;
        $paymentDetails['PAYMENTREQUEST_0_NAME']         = $item->getName();
        $paymentDetails['PAYMENTREQUEST_0_DESC']         = htmlentities($item->getDescription());
        $paymentDetails['PAYMENTREQUEST_0_CUSTOM']       = $purchase->getId();

        $storage->updateModel($paymentDetails);

        $notifyToken = $this->getTokenFactory()->createNotifyToken($paymentName, $paymentDetails);
        $captureToken = $this->getTokenFactory()->createCaptureToken(
            $paymentName,
            $paymentDetails,
            'paypal_done'
        );

        $paymentDetails['INVNUM']    = $paymentDetails->getId();
        $paymentDetails['RETURNURL'] = $captureToken->getTargetUrl();
        $paymentDetails['CANCELURL'] = $captureToken->getTargetUrl();
        $paymentDetails['NOTIFYURL'] = $notifyToken->getTargetUrl();


        $storage->updateModel($paymentDetails);
        return $this->redirect($captureToken->getTargetUrl());

However with this setup paypal is not calling the ipn link

Request Payum\Request\BinaryMaskStatusRequest is not supported.

Hi all

I am following this guide: http://payum.forma-dev.com/documentation/PayumBundle/capture_funds_with_paypal_express_checkout

However the application throw me this error:

Request Payum\Request\BinaryMaskStatusRequest is not supported.

After I dig deeper it appears because my PaypalExpressPaymentDetails is not an instance of DetailsAggregateInterface, thus it is not supported by StatusDetailsAggregatedModelAction:

https://github.com/Payum/Payum/blob/master/src/Payum/Action/StatusDetailsAggregatedModelAction.php#L32

Does any knows what might be wrong? Many thanks!

Support for Digital Goods Variables

Would this be possible to support Digital Goods variables please?

    // Set REQCONFIRMSHIPPING to 0
    // Set NOSHIPPING to 1.
    // Set category L_PAYMENTREQUEST_0_ITEMCATEGORYn = Digital

SSL certificate problem

hi,
i have this message :
Fatal error: Uncaught exception 'Buzz\Exception\ClientException' with message 'SSL certificate problem: unable to get local issuer certificate' in D:\dev\Web\root_www\neo\vendor\kriswallsmith\buzz\lib\Buzz\Client\Curl.php on line 29

i m working with : windows 8.1, symfony2.3.4, php 5.4.20 and Curl is activat on php, server install is on locahost (xampp 1.8.1), "payum/payum": "@stable", "payum/payum-bundle": "@stable"
what can be my probeleme?
thank's

Token deleted when captured once

In https://github.com/Payum/PayumBundle/blob/master/Controller/CaptureController.php#L30 I see that after a token is captured, it is then deleted.

However, for a payment gateway with out-of-band notifications on payment updates (payment ok, refunded, ...), I would like to also use this controller, but it can then not find the token anymore and causes a 404. If I comment out the line above, I then get a 400 saying the status must be new.

Is there any way around this? Or is there another way to deal with out-of-band notifications?

[Paypal Express Checkout] Support for Recurring Payments

Would this be possible to support Recurring Payments requests and its variables please?

Vars:
MAXAMT
REQCONFIRMSHIPPING
NOSHIPPING
L_PAYMENTREQUEST_0_ITEMCATEGORYn
L_BILLINGTYPEn
L_BILLINGAGREEMENTDESCRIPTIONn

Requests:
CreateRecurringPaymentsProfile
GetRecurringPaymentsProfileDetails
UpdateRecurringPaymentsProfile
ManageRecurringProfileStatus
BillOutstandingAmount

If I didn't miss anything...

Shopping cart paypal express checkout

Hello,
I'm trying to figure out how to put more products in the shopping cart paypal.
Could you show me an example?

Once that's done maybe I add it to the documentation.

Thank you very much

[0.8.2] Cache clear error: HttpRequestVerifier not found in...

After updating from 0.8.1 to 0.8.2 I get the following error message in composer's post-update-cmd when clearing the cache:

PHP Fatal error:  Class 'Payum\Core\Bridge\Symfony\Security\HttpRequestVerifier' not 
found in /Users/MyUser/projects/MyProject/vendor/payum/payum-bundle/Payum/Bundle
/PayumBundle/Security/HttpRequestVerifier.php on line 10

Payum/Core seems to be missing a tag in 0.8 that includes the commit Payum/Core@c445ba5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.