Informacija Atsiprašome, šis skyrius galimas tik anglų kalba.

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 fully automate the process, so the transfer will be created and signed by your system using API, your system would be able to track the status of initiated 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. Sign 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->signTransfer($id, $transferRegistrationParameters);
With the specification
PUT https://wallet.paysera.com/transfer/rest/v1/transfers/{id}/sign

Example request

PUT /rest/v1/transfers/123/sign HTTP/1.1
Host: wallet.paysera.com
User-Agent: Paysera WalletApi PHP library
Authorization: MAC id="wkVd93h2uS", ts="1343811600", nonce="nQnNaSNyubfPErjRO55yaaEYo9YZfKHN", mac="8ZAMWhc6f0jmkgcPo+cyzPWHmEEK9pLvK1FQ4axlV3U="

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
    }
}