Transfer creation for future manual confirmation
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.
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 } }