by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Max Kotliar
    @makasim
    @yassine-f Please contact me on skype: maksim_ka2

    @cydrickn

    I just want to know on how i can use the payum server

    PayumServer itself and its UI are distributed as Docker containers. It is the easiest way to setup the server. Just incorporate those containers into your docker-compose.yml file.

    It could be run from source codes too, just do git clone, composer install and configure your web server to use those files.

    And how i can add custom gateway to it

    First you have to implement a Payum extension, here's a skeleton to get you started https://github.com/Payum/Skeleton

    Cydrick Nonog
    @cydrickn
    @makasim , just want to know, how i can notify my other service for every capture and notify
    yassine-f
    @yassine-f
    @cydrickn good question, I would love to know that too @makasim does Payum has any unified notification interface similar to the IPN provided by Paypal?! since each gateway provides a way to send back notifications so how can we add triggers to those notifications?!
    Max Kotliar
    @makasim
    payum handles notifications
    In case of Paypal, Payum sends it a notify url with a token
    and waits for notifications, when it comes it syncs payment data with one on Paypal side
    you can add an extension (like shown in the doc) to do some extra stuff
    Stefan Hagspiel
    @solverat

    Hey @makasim, i'm currently developing an extension for payum the last days and i need some philosophical support. :) In a nutshell, i'm having a offsite payment workflow:

    • capture payment
        • define a notify token (notify token will be also transmitted to PP to define return/notify url dynamically)
    • leave page to PP
    • fill out form - submit ( for debugging purposes i set the state in PP backend to something like "authorize payment manually")

      Now!

    • User closes window before sent back.

    • PP sends update to notification url
    • notify token gets removed (right?)
    • capture token gets removed (right?)

    So far - so good. The payment has been updated. But now the client changes the payment to something like "payment accepted" in PP backend. The PP again sends the update to the notification url - which isn't there eg. valid anymore. So what's the best practice to handle updates like this? (which could be more than 2).

    Cydrick Nonog
    @cydrickn
    Hi, Im done creating new gateway using payum skeleton
    How i can add now to payum server
    Cydrick Nonog
    @cydrickn

    Hi.

    I have problem in my custom gateway, I already add it in composer json of payum server, but no success it does not appear in the selection of payum server ui

    may i know how i can add it to payum server
    pls. reply. I need it
    Stefan Hagspiel
    @solverat
    Nevermind, i figured it out myself. The only irritating thing i'm struggling with are those abandoned tokens. But i saw there is a ticket (#257) which hopefully will bring some clarity into this. :)
    Hadi Zakzouk
    @Almusamim
    Happy new year
    Cydrick Nonog
    @cydrickn
    hi
    still how to add custom payment gatewya in payum server
    Max Kotliar
    @makasim

    @cydrickn Hi

    You have to adjust the PayumServer source code. Add this code here

    <?php
    $app['payum.builder'] = $app->share($app->extend('payum.builder', function (PayumBuilder $builder) {
        $builder->addGatewayFactory('my_factory', function(array $defaultConfig, CoreGatewayFactory $coreGatewayFactory) {
             return new MyGatewayFactory($defaultConfig, $coreGatewayFactory);
         });
    
         return $builder;
    });
    Max Kotliar
    @makasim

    @solverat Hi

    I am glad to see you solved the issue. Few comments

    • The capture and notify tokens should be two different ones. User should use capture and never notify. Notify token is used by a payment provider to send notification to your app.
    • A capture token is expected to be removed shortly after a payment is done (captured or failed) where notify one can stay there for a long time.
    • You can add some logic by extending the token model and token factory. The logic allows you to remove abandoned tokens after some time.
    Hadi Zakzouk
    @Almusamim
    Hello I'm trying to implement klarna checkout with Sylius but I'm getting this error on the payment page
    INFO 20:50:47     request     Matched route "payum_capture_do"
    
    INFO 20:50:47     security     Populated the TokenStorage with an anonymous Token.
    
    CRITICAL 20:50:49     request     Uncaught PHP Exception Payum\Core\Exception\RequestNotSupportedException: "Request Capture{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." at C:\Users\Hadi\www-dev\sylius\vendor\payum\payum\src\Payum\Core\Exception\RequestNotSupportedException.php line 57
     http://sylius.test/payment/capture/CfIgjTGQyzAGp16whSvP2mEfFJ1pZ8rEAYNUImzDkPE
    
    302 Redirect from  @sylius_shop_order_pay (bc0fd8) 
    
    Gateway execution graph
    
    Capture[ArrayObject]
    └ CapturePaymentAction::execute(Capture[ArrayObject])
     └ ExecuteSameRequestWithPaymentDetailsAction::execute(GetStatus[ArrayObject])
      └ StatusAction::execute(GetStatus[ArrayObject])
     └ ConvertPaymentAction::execute(Convert[])
    Capture[ArrayObject]
    └ CapturePaymentAction::execute(Capture[ArrayObject])
     └ ExecuteSameRequestWithPaymentDetailsAction::execute(GetStatus[ArrayObject])
      └ StatusAction::execute(GetStatus[ArrayObject])
     └ ConvertPaymentAction::execute(Convert[])
       ⬅ exception RequestNotSupportedException
    Any idea what I missed with the implementation?
    Max Kotliar
    @makasim
    Klarna Checkout does not support (or it is not simply implemented) capture.
    Cydrick Nonog
    @cydrickn
    hi,
    i created my custom gateway
    but how i can check if it was configure as sandbox in captureaction
    when im trying to dum the $this->gateway it always output null
    im creating a gateway that will redirect to the payment gateway page
    Cydrick Nonog
    @cydrickn

    Hi, I already solve the above issue.

    Now my problem is to get the post back values of the bank to my notify
    example notify:

    http://myurl.com/payment/notify/nc7YNi4gxEk5JCkBkOcD5w03DrJ7f-vSkfFv7RPn1hA?refno=samplerefno&procid=BOG&status=S&message=sample&digest=83f828e5ab0ad6b74532d698283c797926cc55a6

    i want to get the refno in parameters $_GET

    Cydrick Nonog
    @cydrickn
    already got it, using gateway->execute($req = new GetHttpRequest());
    Max Kotliar
    @makasim

    when im trying to dum the $this->gateway it always output null

    @cydrickn Have you implemented GatewayAwareInterface?

    Cydrick Nonog
    @cydrickn
    Thank you.
    Den Girnyk
    @Great-Antique
    Hi, please advise where to find info how to use Payum with Symfony 4.
    Now almost everything works fine, but profiler crashes
    The profiler template "PayumBundle:Profiler:payum.html.twig" for data collector "payum" does not exist.
    payum/core: 1.5.0
    payum/payum-bundle: 2.3.0
    Den Girnyk
    @Great-Antique

    As I understood from code the problem is that template is provided in PayumBundle:Profiler:payum.html.twig format (in payum.profiler.payum_collector service in debug.xml file).
    So I override this service like this

        payum.profiler.payum_collector:
            public: true
            class: Payum\Bundle\PayumBundle\Profiler\PayumCollector
            tags:
              - { name: payum.extension, all: true, alias: profile_collector, prepend: true }
              - { name: data_collector, id: payum, template: '@Payum/Profiler/payum.html.twig' }

    profiler works now

    Stefan Hagspiel
    @solverat
    @makasim what's your recommendation to integrate a existing payum gateway like klarna into a ecommerce framework (sylius for example) - specifically the initial settings part: in sylius you can't just create a controller and add all the billing information (like explained here) so you need to do it differently. i thought about adding a PopulateKlarnaFromDetailsAction extension which will add a preExecute method and populate the request model with the required data. the questions is: is that right? to add some advice to the docs about this topic would be nice :D
    Cydrick Nonog
    @cydrickn
    Hi,
    Im creating booking system that is microservice and also im using payum micro service.
    How I can link the booking to payments.
    What is a good methods.
    Im planning that the booking item will have the id of payments since or the payment will have the booking id
    Michael Stepanov
    @stepanov
    Hi, I'm trying to integrate Payum to our system and have probably silly question. How to generate correct redirect URL? In my case the action/script with payum token always added after initial script name - targetUrl: http://localhost:8001/prepare.php/capture.php?payum_token=64-TNVVqqSytZ1MVGbilb8ZOW8Rx27LJcmdwqr5n9oc. How to make it http://localhost:8001/capture.php?payum_token=64-TNVVqqSytZ1MVGbilb8ZOW8Rx27LJcmdwqr5n9oc ?
    Max Kotliar
    @makasim

    @stepanov Hi

    Is it a custom application, I mean not a Symfony or other framework based ?

    Michael Stepanov
    @stepanov
    @makasim thank you for your answer. It's based on CakePHP which is not supported by Payum. Will try your suggestion to pass baseUrl into TokenFactory.
    Michael Stepanov
    @stepanov
    @makasim can you please give an example of processing the payment page answer, i.e. PayPal Express Checkout success/cancel redirect processing?
    mkauferstein
    @mkauferstein
    hi there, can someone tell me how i persist details in an action?
    napestershine
    @napestershine
    Hello anyone here
    Khairi Husseini
    @khusseini

    Hello everyone. I'm tinkering with the payum integration in symfony and added a new factory and a capture action. When I trigger the payment, I get the Exception

    Type error: Argument 1 passed to Payum\Core\Gateway::addAction() must implement interface Payum\Core\Action\ActionInterface, string given, called in /var/www/app/vendor/payum/core/Payum/Core/CoreGatewayFactory.php on line 219

    The stack trace shows the following call Gateway->addAction('@app.payum_action.payone.capture_order', false)

    This is how I registered the factory and the action. What am I doing wrong?

        app.payum.payone.factory:
          class: Payum\Core\Bridge\Symfony\Builder\GatewayFactoryBuilder
          arguments: [Valiton\Payum\Payone\PayoneGatewayFactory]
          tags:
          - name: payum.gateway_factory_builder
            factory: payone
    
        # Overrides \Valiton\Payum\Payone\Action\CaptureAction
        app.payum_action.payone.capture_order:
          class: AppBundle\Action\Payone\CaptureOrderAction
          arguments:
          - '@coreshop.repository.order'
          - '@coreshop.state_machine_applier'
          tags:
          - name: payum.action
            factory: payone