2022-08-06 13:25:54 +02:00
|
|
|
#!/bin/bash
|
2020-06-01 14:17:05 +02:00
|
|
|
|
2022-08-06 13:25:54 +02:00
|
|
|
set -eu
|
2020-06-01 14:17:05 +02:00
|
|
|
|
2020-06-02 14:58:30 +02:00
|
|
|
# EBICS details
|
2022-08-06 13:25:54 +02:00
|
|
|
EBICS_URL="http://localhost:5000/ebicsweb"
|
|
|
|
HOST_ID="HOST01"
|
|
|
|
PARTNER_ID="PARTNER1"
|
|
|
|
USER_ID="USER1"
|
|
|
|
|
|
|
|
# This is used _both_ at Sandbox and at Nexus.
|
|
|
|
# Basically, Nexus imports the offered bank account
|
|
|
|
# using the same name used by the Sandbox.
|
|
|
|
BANK_ACCOUNT_LABEL="my-bank-account"
|
|
|
|
BANK_CONNECTION_LABEL="my-bank-connection"
|
2020-06-02 14:58:30 +02:00
|
|
|
FACADE_LABEL="my-facade"
|
|
|
|
|
2022-08-06 13:25:54 +02:00
|
|
|
export LIBEUFIN_SANDBOX_USERNAME=exchange
|
|
|
|
export LIBEUFIN_SANDBOX_PASSWORD=x
|
|
|
|
export LIBEUFIN_SANDBOX_URL=http://localhost:5000/demobanks/default
|
|
|
|
libeufin-cli sandbox demobank register --name "Exchange Company"
|
|
|
|
|
|
|
|
export LIBEUFIN_SANDBOX_USERNAME=fortytwo
|
|
|
|
export LIBEUFIN_SANDBOX_PASSWORD=x
|
|
|
|
export LIBEUFIN_SANDBOX_URL=http://localhost:5000/demobanks/default
|
|
|
|
libeufin-cli sandbox demobank register \
|
|
|
|
--name User42 --iban FR7630006000011234567890189
|
|
|
|
|
|
|
|
export LIBEUFIN_SANDBOX_USERNAME=fortythree
|
|
|
|
export LIBEUFIN_SANDBOX_PASSWORD=x
|
|
|
|
export LIBEUFIN_SANDBOX_URL=http://localhost:5000/demobanks/default
|
|
|
|
libeufin-cli sandbox demobank register \
|
|
|
|
--name User43 --iban GB33BUKB20201555555555
|
|
|
|
|
|
|
|
export LIBEUFIN_SANDBOX_USERNAME=admin
|
|
|
|
export LIBEUFIN_SANDBOX_PASSWORD=secret
|
|
|
|
export LIBEUFIN_SANDBOX_URL=http://localhost:5000/demobanks/default
|
|
|
|
echo -n "Create EBICS host at Sandbox..."
|
|
|
|
libeufin-cli sandbox \
|
|
|
|
--sandbox-url "http://localhost:5000" \
|
|
|
|
ebicshost create --host-id $HOST_ID
|
|
|
|
echo " OK"
|
|
|
|
|
|
|
|
echo -n "Create exchange EBICS subscriber at Sandbox..."
|
|
|
|
libeufin-cli sandbox \
|
|
|
|
demobank new-ebicssubscriber --host-id $HOST_ID \
|
|
|
|
--user-id $USER_ID --partner-id $PARTNER_ID \
|
|
|
|
--bank-account exchange # that's a username _and_ a bank account name
|
|
|
|
echo " OK"
|
|
|
|
unset LIBEUFIN_SANDBOX_USERNAME
|
|
|
|
unset LIBEUFIN_SANDBOX_PASSWORD
|
|
|
|
unset LIBEUFIN_SANDBOX_URL
|
|
|
|
|
|
|
|
export LIBEUFIN_NEXUS_USERNAME=exchange
|
|
|
|
export LIBEUFIN_NEXUS_PASSWORD=x
|
|
|
|
export LIBEUFIN_NEXUS_URL=http://localhost:5001/
|
|
|
|
|
|
|
|
echo -n "Create the exchange (super)user at Nexus..."
|
|
|
|
libeufin-nexus superuser exchange --password x
|
|
|
|
echo " DONE"
|
|
|
|
|
|
|
|
echo -n "Creating a EBICS connection at Nexus..."
|
|
|
|
libeufin-cli connections new-ebics-connection \
|
|
|
|
--ebics-url $EBICS_URL \
|
|
|
|
--host-id $HOST_ID \
|
|
|
|
--partner-id $PARTNER_ID \
|
|
|
|
--ebics-user-id $USER_ID \
|
|
|
|
$BANK_CONNECTION_LABEL
|
|
|
|
echo " OK"
|
|
|
|
|
|
|
|
echo -n "Setup EBICS keying..."
|
|
|
|
libeufin-cli connections connect $BANK_CONNECTION_LABEL > /dev/null
|
|
|
|
echo " OK"
|
|
|
|
|
|
|
|
echo -n "Download bank account name from Sandbox..."
|
|
|
|
libeufin-cli connections download-bank-accounts $BANK_CONNECTION_LABEL
|
|
|
|
echo " OK"
|
|
|
|
|
|
|
|
echo -n "Importing bank account info into Nexus..."
|
|
|
|
libeufin-cli connections import-bank-account \
|
|
|
|
--offered-account-id exchange \
|
|
|
|
--nexus-bank-account-id $BANK_ACCOUNT_LABEL \
|
|
|
|
$BANK_CONNECTION_LABEL
|
|
|
|
echo " OK"
|
|
|
|
|
|
|
|
echo -n "Create the Taler facade at Nexus..."
|
|
|
|
libeufin-cli facades \
|
|
|
|
new-taler-wire-gateway-facade \
|
|
|
|
--currency KUDOS --facade-name $FACADE_LABEL \
|
|
|
|
$BANK_CONNECTION_LABEL $BANK_ACCOUNT_LABEL
|
|
|
|
echo " DONE"
|
|
|
|
|
|
|
|
echo -n Setup payments submission task..
|
|
|
|
# Tries every second.
|
|
|
|
libeufin-cli accounts task-schedule \
|
|
|
|
--task-type submit \
|
|
|
|
--task-name exchange-payments \
|
|
|
|
--task-cronspec "* * *" \
|
|
|
|
$BANK_ACCOUNT_LABEL
|
|
|
|
echo OK
|
|
|
|
# Tries every second. Ask C52
|
|
|
|
echo -n Setup history fetch task..
|
|
|
|
libeufin-cli accounts task-schedule \
|
|
|
|
--task-type fetch \
|
|
|
|
--task-name exchange-history \
|
|
|
|
--task-cronspec "* * *" \
|
|
|
|
--task-param-level report \
|
|
|
|
--task-param-range-type latest \
|
|
|
|
$BANK_ACCOUNT_LABEL
|
|
|
|
echo OK
|
|
|
|
|
|
|
|
# unset, in case the script gets 'source'd.
|
|
|
|
unset LIBEUFIN_NEXUS_USERNAME
|
|
|
|
unset LIBEUFIN_NEXUS_PASSWORD
|
|
|
|
unset LIBEUFIN_NEXUS_URL
|