Extra Merchant Data Events

Extra Merchant Data

Die "Extra Merchant Data" Events erlauben Ihnen bestimmte API calls um arbiträre Werte zu erweitern.

Create Session Call

Um den Create Session Call zu erweitern muss ein Subscriber auf das Event BestitKlarnaPayments\Components\Constants::EVENT_CREATE_SESSION_ATTACHMENT registriert werden. Die Subscriber Methode createSessionAddEmdData muss nur eine Instanz von BestitKlarnaOrderManagement\Components\Api\Model\Attachment zurückgeben. Alles andere ist der Implementation überlassen.

<?php

namespace App\Subscriber;

use BestitKlarnaOrderManagement\Components\Api\Model\Attachment;
use BestitKlarnaPayments\Components\Constants;
use Enlight\Event\SubscriberInterface;

class SomeSubscriber implements SubscriberInterface
{
    public static function getSubscribedEvents()
    {
        return [
            Constants::EVENT_CREATE_SESSION_ATTACHMENT => 'createSessionAddEmdData',
        ];
    }

    public function createSessionAddEmdData()
    {
        $attachment = new Attachment();

        $attachment->contentType = 'application/vnd.klarna.internal.emd-v2+json';
        $attachment->body = json_encode([
            'marketplace_seller_info' => [[
                'product_category' => 'Women\'s Fashion',
                'product_name' => 'Women Sweatshirt',
            ]],
        ]);

        return $attachment;
    }
}

Authorize Call

Um den Authorize Call zu erweitern muss ein Subscriber auf das Event BestitKlarnaPayments\Components\Constants::EVENT_AUTHORIZE_ORDER_ATTACHMENT registriert werden. Der Subscriber Methode authorizeOrderAddEmdData muss nur eine Instanz von BestitKlarnaOrderManagement\Components\Api\Model\Attachment zurückgeben. Alles andere ist der Implementation überlassen.

<?php

namespace App\Subscriber;

use BestitKlarnaOrderManagement\Components\Api\Model\Attachment;
use BestitKlarnaPayments\Components\Constants;
use Enlight\Event\SubscriberInterface;

class SomeSubscriber implements SubscriberInterface
{
    public static function getSubscribedEvents()
    {
        return [
            Constants::EVENT_AUTHORIZE_ORDER_ATTACHMENT => 'authorizeOrderAddEmdData',
        ];
    }

    public function authorizeOrderAddEmdData()
    {
        $attachment = new Attachment();

        $attachment->contentType = 'application/vnd.klarna.internal.emd-v2+json';
        $attachment->body = json_encode([
            'marketplace_seller_info' => [[
                'product_category' => 'Women\'s Fashion',
                'product_name' => 'Women Sweatshirt',
            ]],
        ]);

        return $attachment;
    }
}

Place Order Call

Um den Place Order Call zu erweitern muss ein Subscriber auf das Event BestitKlarnaPayments\Components\Constants::EVENT_PLACE_ORDER_ATTACHMENT registriert werden. Der Subscriber Methode placeOrderAddEmdData muss nur eine Instanz von BestitKlarnaOrderManagement\Components\Api\Model\Attachment zurückgeben. Alles andere ist der Implementation überlassen.

<?php

namespace App\Subscriber;

use BestitKlarnaOrderManagement\Components\Api\Model\Attachment;
use BestitKlarnaPayments\Components\Constants;
use Enlight\Event\SubscriberInterface;

class SomeSubscriber implements SubscriberInterface
{
    public static function getSubscribedEvents()
    {
        return [
            Constants::EVENT_PLACE_ORDER_ATTACHMENT => 'placeOrderAddEmdData',
        ];
    }

    public function placeOrderAddEmdData()
    {
        $attachment = new Attachment();

        $attachment->contentType = 'application/vnd.klarna.internal.emd-v2+json';
        $attachment->body = json_encode([
            'marketplace_seller_info' => [[
                'product_category' => 'Women\'s Fashion',
                'product_name' => 'Women Sweatshirt',
            ]],
        ]);

        return $attachment;
    }
}