exchange/contrib/taler-nexus-prepare

116 lines
3.4 KiB
Plaintext
Raw Normal View History

2022-08-06 13:25:54 +02:00
#!/bin/bash
2022-08-06 13:25:54 +02:00
set -eu
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/
2022-08-06 13:25:54 +02:00
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/
2022-08-06 13:25:54 +02:00
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/
2022-08-06 13:25:54 +02:00
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/
2022-08-06 13:25:54 +02:00
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