Информация Извините, эта глава доступна только на английском языке.

Transfer API allows initiating transfers between your Paysera account and either Paysera or another bank account. API allows creating manual Transfers just like in regular Paysera system. It's possible to automate the process of creating a transfer and allow you to manually sign the transfer in the future in the Paysera system, your system would be able to track the status of created transfers.

Payment creation integration diagram

Integration

1. Create transfer

With a library
<?php

use PayseraClientTransfersClientClientFactory;
use PayseraClientTransfersClientEntity as Entities;

$clientFactory = new ClientFactory([
    'base_url' => 'https://wallet.paysera.com/transfer/rest/v1/',
    'mac' => [
        'mac_id' => 'mac_id',
        'mac_secret' => 'mac_password',
    ],
]);

$transfersClient = $clientFactory->getTransfersClient();

$transferInput = (new EntitiesTransferInput())
    ->setAmount($amount)
    ->setBeneficiary($beneficiary)
    ->setPayer($payer)
    ->setFinalBeneficiary($finalBeneficiary)
    ->setPerformAt($performAt)
    ->setChargeType($chargeType)
    ->setUrgency($urgency)
    ->setNotifications($notifications)
    ->setPurpose($purpose)
    ->setPassword($password)
    ->setCancelable($cancelable)
    ->setAutoCurrencyConvert($autoCurrencyConvert)
    ->setAutoChargeRelatedCard($autoChargeRelatedCard)
    ->setAutoProcessToDone($autoProcessToDone)
    ->setReserveUntil($reserveUntil)
    ->setCallback($callback)
;

$result = $transfersClient->createTransfer($transferInput);
With the specification
POST https://wallet.paysera.com/transfer/rest/v1/transfers

Example request

POST /transfer/rest/v1/transfers HTTP/1.1
Host: wallet.paysera.com
Content-Type: application/json;charset=utf-8
User-Agent: Paysera WalletApi PHP library
Authorization: MAC id="wkVd93h2uS", ts="1343811600", nonce="nQnNaSNyubfPErjRO55yaaEYo9YZfKHN", mac="2VFTILV6mZSTG3mWYle+ApoQ4waD+zkfpBpaDYW9H2A=", ext="body_hash=9ozRxTTJmNuImN2RrqNNWrWAf39A2RmbriKeuDSPy2I%3D"
{
    "amount": {
        "amount": "100.00",
        "currency": "EUR"
    },
    "beneficiary": {
        "type": "bank",
        "name": "Name Surname",
        "bank_account": {
            "iban": "LT873500010002284563"
        },
        "additional_information": {
            "type": "natural",
            "city": "New York",
            "state": "NY",
            "country": "US",
            "postal_code": "11235",
            "bank_branch_code": "US46516"
        },
        "client_identifier": {
            "date_and_place_of_birth": {
                "date_of_birth": "1986-11-08",
                "city_of_birth": "Vilnius",
                "country_of_birth": "LT"
            }
        }
    },
    "payer": {
        "account_number": "EVP9210002477825"
    },
    "urgency": "standard",
    "purpose": {
        "details": "Transfer details that will be seen in beneficiary statement"
    }
}

Example response

HTTP/1.1 200 OK
Content-type: application/json;charset=utf-8
{
    "id": "123",
    "status": "new",
    "amount": {
        "amount": "100.00",
        "currency": "EUR"
    },
    "beneficiary": {
        "type": "bank",
        "name": "Name Surname",
        "bank_account": {
            "iban": "LT873500010002284563"
        },
        "additional_information": {
            "type": "natural",
            "city": "New York",
            "state": "NY",
            "country": "US",
            "postal_code": "11235",
            "bank_branch_code": "US46516"
        },
        "client_identifier": {
            "date_and_place_of_birth": {
                "date_of_birth": "1986-11-08",
                "city_of_birth": "Vilnius",
                "country_of_birth": "LT"
            }
        }
    },
    "payer": {
        "account_number": "EVP9210002477825"
    },
    "purpose": {
        "details": "Transfer details that will be seen in beneficiary statement",
        "details_options": {
            "preserve": false
        }
    },
    "cancelable": true,
    "allowed_to_cancel": true,
    "initiator": {
        "user_id": 321
    },
    "created_at": 1489420006,
    "perform_at": 1489420006,
    "auto_currency_convert": false,
    "auto_charge_related_card": false,
    "out_commission": {
        "amount": "0.29",
        "currency": "EUR"
    },
    "additional_information": {
        "estimated_processing_date": 1489420906,
        "out_commission_rule": {
            "percent": 0,
            "fix": {
                "amount": "0.29",
                "currency": "EUR"
            }
        },
        "original_out_commission": {
            "amount": "0.29",
            "currency": "EUR"
        },
        "correspondent_bank_fees_may_apply": false
    }
}

2. Register transfer

With a library
<?php

use PayseraClientTransfersClientClientFactory;
use PayseraClientTransfersClientEntity as Entities;

$clientFactory = new ClientFactory([
    'base_url' => 'https://wallet.paysera.com/transfer/rest/v1/',
    'mac' => [
        'mac_id' => 'mac_id',
        'mac_secret' => 'mac_password',
    ],
]);

$transferRegistrationParameters = (new EntitiesTransferRegistrationParameters())
    ->setConvertCurrency($convertCurrency)
    ->setUserIp($userIp)
;

$result = $transfersClient->registerTransfer($id, $transferRegistrationParameters);
With the specification
PUT https://wallet.paysera.com/transfer/rest/v1/transfers/{id}/register

Example request

PUT /rest/v1/transfers/123/register HTTP/1.1
Host: wallet.paysera.com
User-Agent: Paysera WalletApi PHP library
Authorization: MAC id="wkVd93h2uS", ts="1343811600", nonce="nQnNaSNyubfPErjRO55yaaEYo9YZfKHN", mac="eIo1DjHNsG/ROwzB98/2guqPDalPLY+VhFJ1nJ7E7H0="

Example response

HTTP/1.1 200 OK
Content-type: application/json;charset=utf-8
{
    "id": "123",
    "status": "new",
    "amount": {
        "amount": "100.00",
        "currency": "EUR"
    },
    "beneficiary": {
        "type": "bank",
        "name": "Name Surname",
        "bank_account": {
            "iban": "LT873500010002284563"
        },
        "additional_information": {
            "type": "natural",
            "city": "New York",
            "state": "NY",
            "country": "US",
            "postal_code": "11235",
            "bank_branch_code": "US46516"
        },
        "client_identifier": {
            "date_and_place_of_birth": {
                "date_of_birth": "1986-11-08",
                "city_of_birth": "Vilnius",
                "country_of_birth": "LT"
            }
        }
    },
    "payer": {
        "account_number": "EVP9210002477825"
    },
    "purpose": {
        "details": "Transfer details that will be seen in beneficiary statement",
        "details_options": {
            "preserve": false
        }
    },
    "cancelable": true,
    "allowed_to_cancel": true,
    "initiator": {
        "user_id": 321
    },
    "created_at": 1489420006,
    "perform_at": 1489420006,
    "auto_currency_convert": false,
    "auto_charge_related_card": false,
    "out_commission": {
        "amount": "0.29",
        "currency": "EUR"
    },
    "additional_information": {
        "estimated_processing_date": 1489420906,
        "out_commission_rule": {
            "percent": 0,
            "fix": {
                "amount": "0.29",
                "currency": "EUR"
            }
        },
        "original_out_commission": {
            "amount": "0.29",
            "currency": "EUR"
        },
        "correspondent_bank_fees_may_apply": false
    }
}