FIO API - Platební příkazy - Ukázka provedení v PHP

Dokumentace FIO API bankovnictví

Všichni ví, jak stahovat transakce, protože to je jednoduchý GET request...

<?php
$url
= file_get_contents('https://www.fio.cz/ib_api/rest/periods/VAS_TOKEN/2023-01-01/2023-04-29/transactions.csv');
$c = curl_init($url);
curl_setopt($c, CURLOPT_TIMEOUT, 5);
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_HEADER, 0);
echo
curl_exec($c);

A co platby? 😊

Příklad POST požadavku pro provedení platebního příkazu v rámci ČR:

Platba bude přidána do sekce "příkazy k podpisu" a musí se ve FIO bankovnictví potvrdit.

<?php

$token
= 'xxxxxxxx.............'// token z FIO banky s oprávněním pro zadávání příkazů


$xml = '<?xml version="1.0" encoding="UTF-8"?>
<Import xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.fio.cz/schema/importIB.xsd">
<Orders>
   <DomesticTransaction>
       <accountFrom>250123456</accountFrom>
       <currency>CZK</currency>
       <amount>1.00</amount>
       <accountTo>2212-200000000</accountTo>
       <bankCode>0300</bankCode>
       <ks>0558</ks>
       <vs>1234567890</vs>
       <ss>1234567890</ss>
       <date>2013-04-25</date>
       <messageForRecipient>test</messageForRecipient>
       <comment></comment>
       <paymentType>431001</paymentType>
   </DomesticTransaction>
</Orders>
</Import>'
;

$url = 'https://www.fio.cz/ib_api/rest/import/';

$path = stream_get_meta_data(tmpfile())['uri']; 
file_put_contents($path, $xml);

$c = curl_init($url);

curl_setopt($c, CURLOPT_POST, true);

curl_setopt($c, CURLOPT_HTTPHEADER, array(
   
"Content-Type: multipart/form-data"
));

curl_setopt($c, CURLOPT_POSTFIELDS, [
   
'token' => $token,
   
'type' => 'xml',
   
'file' => curl_file_create($path),
   
'lng' => 'cs',
]);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($c);

print_r($data);

print_r(curl_error($c));

curl_close($c);

Hotovo ✓
Žádný github, žádné blbosti.