<?php

namespace Fifa\ConnectId\Sdk\Util\Serialization\Configurations;

use Fifa\ConnectId\Sdk\Model\Transfer\Club;
use Fifa\ConnectId\Sdk\Model\Transfer\PaymentDetails;

class ProofOfPaymentXmlSerializerConfiguration
{
    public static function getScalarAsAttributes(string $rootTag = 'ProofOfPayment'): array
    {
        return [
            $rootTag => ['MessageId', 'TmsTransferId', 'PaymentType'],
            'PaymentDetails' => CommonXmlSerializerConfiguration::getPaymentDetailsScalarAsAttributes(),
            'RecipientClub' => CommonXmlSerializerConfiguration::getClubScalarAsAttributes()
        ];
    }

    public static function getMappings(): array
    {
        return [
            'PaymentDetails' => PaymentDetails::class,
            'RecipientClub' => Club::class
        ];
    }

    public static function getTagmap(): array
    {
        return [
            PaymentDetails::class => 'PaymentDetails',
        ];
    }
}