merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

meson.build (13697B)


      1 # This build file is in the public domain
      2 install_data('kudos.conf', 'merchant.conf', 'tops.conf', install_dir: pkgcfgdir)
      3 
      4 
      5 configure_file(
      6     input: 'taler-merchant-report-generator-email',
      7     output: 'taler-merchant-report-generator-email',
      8     install: true,
      9     copy: true,
     10     install_dir: get_option('bindir'),
     11 )
     12 
     13 configure_file(
     14     input: 'taler-merchant-report-generator-file',
     15     output: 'taler-merchant-report-generator-file',
     16     install: true,
     17     copy: true,
     18     install_dir: get_option('bindir'),
     19 )
     20 
     21 
     22 executable(
     23     'taler-merchant-depositcheck',
     24     ['taler-merchant-depositcheck.c'],
     25     dependencies: [
     26         libtalermerchantutil_dep,
     27         talerutil_dep,
     28         talerjson_dep,
     29         libtalermerchantdb_dep,
     30         talerpq_dep,
     31         talerexchange_dep,
     32         gnunetutil_dep,
     33         gnunetjson_dep,
     34         gnunetcurl_dep,
     35         pq_dep,
     36         curl_dep,
     37         json_dep,
     38     ],
     39     include_directories: [incdir, configuration_inc],
     40     install: true,
     41 )
     42 
     43 
     44 executable(
     45     'taler-merchant-exchangekeyupdate',
     46     ['taler-merchant-exchangekeyupdate.c'],
     47     dependencies: [
     48         libtalermerchantutil_dep,
     49         talerutil_dep,
     50         talerjson_dep,
     51         libtalermerchantdb_dep,
     52         talerpq_dep,
     53         talerexchange_dep,
     54         gnunetutil_dep,
     55         gnunetjson_dep,
     56         gnunetcurl_dep,
     57         pq_dep,
     58         curl_dep,
     59         json_dep,
     60     ],
     61     include_directories: [incdir, configuration_inc],
     62     install: true,
     63 )
     64 
     65 
     66 
     67 taler_merchant_httpd_SOURCES = [
     68     'taler-merchant-httpd.c',
     69     'taler-merchant-httpd_auth.c',
     70     'taler-merchant-httpd_contract.c',
     71     'taler-merchant-httpd_dispatcher.c',
     72     'taler-merchant-httpd_exchanges.c',
     73     'taler-merchant-httpd_get-orders-ORDER_ID.c',
     74     'taler-merchant-httpd_get-sessions-SESSION_ID.c',
     75     'taler-merchant-httpd_get-products-IMAGE_HASH-image.c',
     76     'taler-merchant-httpd_get-config.c',
     77     'taler-merchant-httpd_get-exchanges.c',
     78     'taler-merchant-httpd_get-templates-TEMPLATE_ID.c',
     79     'taler-merchant-httpd_helper.c',
     80     'taler-merchant-httpd_token-keys.c',
     81     'taler-merchant-httpd_fountains.c',
     82     'taler-merchant-httpd_get-fountain-info.c',
     83     'taler-merchant-httpd_mhd.c',
     84     'taler-merchant-httpd_get-terms.c',
     85     'taler-merchant-httpd_mfa.c',
     86     'taler-merchant-httpd_delete-private-accounts-H_WIRE.c',
     87     'taler-merchant-httpd_delete-private-categories-CATEGORY_ID.c',
     88     'taler-merchant-httpd_delete-private-units-UNIT.c',
     89     'taler-merchant-httpd_delete-management-instances-INSTANCE.c',
     90     'taler-merchant-httpd_delete-private-token.c',
     91     'taler-merchant-httpd_delete-private-tokens-SERIAL.c',
     92     'taler-merchant-httpd_delete-private-products-PRODUCT_ID.c',
     93     'taler-merchant-httpd_delete-private-orders-ORDER_ID.c',
     94     'taler-merchant-httpd_delete-private-fountains-FOUNTAIN_ID.c',
     95     'taler-merchant-httpd_delete-private-otp-devices-DEVICE_ID.c',
     96     'taler-merchant-httpd_delete-private-templates-TEMPLATE_ID.c',
     97     'taler-merchant-httpd_delete-private-tokenfamilies-TOKEN_FAMILY_SLUG.c',
     98     'taler-merchant-httpd_delete-private-transfers-TID.c',
     99     'taler-merchant-httpd_delete-private-webhooks-WEBHOOK_ID.c',
    100     'taler-merchant-httpd_get-private-accounts.c',
    101     'taler-merchant-httpd_get-private-accounts-H_WIRE.c',
    102     'taler-merchant-httpd_get-private-categories.c',
    103     'taler-merchant-httpd_get-private-units.c',
    104     'taler-merchant-httpd_get-private-categories-CATEGORY_ID.c',
    105     'taler-merchant-httpd_get-private-units-UNIT.c',
    106     'taler-merchant-httpd_get-management-instances.c',
    107     'taler-merchant-httpd_get-management-instances-INSTANCE.c',
    108     'taler-merchant-httpd_get-private-kyc.c',
    109     'taler-merchant-httpd_kyc-order.c',
    110     'taler-merchant-httpd_get-private-tokens.c',
    111     'taler-merchant-httpd_get-private-pos.c',
    112     'taler-merchant-httpd_get-private-products.c',
    113     'taler-merchant-httpd_get-private-products-PRODUCT_ID.c',
    114     'taler-merchant-httpd_get-private-orders.c',
    115     'taler-merchant-httpd_get-private-orders-ORDER_ID.c',
    116     'taler-merchant-httpd_get-private-fountains.c',
    117     'taler-merchant-httpd_get-private-fountains-FOUNTAIN_ID.c',
    118     'taler-merchant-httpd_get-private-otp-devices.c',
    119     'taler-merchant-httpd_get-private-otp-devices-DEVICE_ID.c',
    120     'taler-merchant-httpd_get-private-incoming.c',
    121     'taler-merchant-httpd_get-private-incoming-ID.c',
    122     'taler-merchant-httpd_get-private-transfers.c',
    123     'taler-merchant-httpd_get-private-templates.c',
    124     'taler-merchant-httpd_get-private-templates-TEMPLATE_ID.c',
    125     'taler-merchant-httpd_get-private-tokenfamilies.c',
    126     'taler-merchant-httpd_get-private-tokenfamilies-TOKEN_FAMILY_SLUG.c',
    127     'taler-merchant-httpd_get-private-webhooks.c',
    128     'taler-merchant-httpd_get-private-webhooks-WEBHOOK_ID.c',
    129     'taler-merchant-httpd_patch-private-accounts-H_WIRE.c',
    130     'taler-merchant-httpd_patch-private-categories-CATEGORY_ID.c',
    131     'taler-merchant-httpd_patch-private-units-UNIT.c',
    132     'taler-merchant-httpd_patch-management-instances-INSTANCE.c',
    133     'taler-merchant-httpd_patch-private-orders-ORDER_ID-forget.c',
    134     'taler-merchant-httpd_patch-private-fountains-FOUNTAIN_ID.c',
    135     'taler-merchant-httpd_patch-private-otp-devices-DEVICE_ID.c',
    136     'taler-merchant-httpd_patch-private-products-PRODUCT_ID.c',
    137     'taler-merchant-httpd_patch-private-templates-TEMPLATE_ID.c',
    138     'taler-merchant-httpd_patch-private-tokenfamilies-TOKEN_FAMILY_SLUG.c',
    139     'taler-merchant-httpd_patch-private-webhooks-WEBHOOK_ID.c',
    140     'taler-merchant-httpd_post-private-accounts.c',
    141     'taler-merchant-httpd_post-private-categories.c',
    142     'taler-merchant-httpd_post-private-units.c',
    143     'taler-merchant-httpd_post-management-instances.c',
    144     'taler-merchant-httpd_post-management-instances-INSTANCE-auth.c',
    145     'taler-merchant-httpd_post-private-token.c',
    146     'taler-merchant-httpd_post-private-orders-ORDER_ID-collect.c',
    147     'taler-merchant-httpd_post-private-orders-ORDER_ID-refund.c',
    148     'taler-merchant-httpd_post-private-orders-ORDER_ID-refund-external.c',
    149     'taler-merchant-httpd_post-private-orders.c',
    150     'taler-merchant-httpd_post-private-products.c',
    151     'taler-merchant-httpd_post-private-fountains.c',
    152     'taler-merchant-httpd_post-private-otp-devices.c',
    153     'taler-merchant-httpd_post-private-products-PRODUCT_ID-lock.c',
    154     'taler-merchant-httpd_post-private-templates.c',
    155     'taler-merchant-httpd_post-private-tokenfamilies.c',
    156     'taler-merchant-httpd_post-private-transfers.c',
    157     'taler-merchant-httpd_post-private-webhooks.c',
    158     'taler-merchant-httpd_post-private-accounts-H_WIRE-kycauth.c',
    159     'taler-merchant-httpd_post-private-accept-tos-early.c',
    160     'taler-merchant-httpd_post-challenge-ID.c',
    161     'taler-merchant-httpd_post-challenge-ID-confirm.c',
    162     'taler-merchant-httpd_post-orders-ORDER_ID-abort.c',
    163     'taler-merchant-httpd_post-orders-ORDER_ID-claim.c',
    164     'taler-merchant-httpd_post-fountain-withdraw.c',
    165     'taler-merchant-httpd_post-orders-ORDER_ID-pay.c',
    166     'taler-merchant-httpd_post-orders-ORDER_ID-paid.c',
    167     'taler-merchant-httpd_post-orders-ORDER_ID-refund.c',
    168     'taler-merchant-httpd_post-orders-ORDER_ID-unclaim.c',
    169     'taler-merchant-httpd_post-templates-TEMPLATE_ID.c',
    170     'taler-merchant-httpd_post-reports-REPORT_ID.c',
    171     'taler-merchant-httpd_get-private-statistics-amount-SLUG.c',
    172     'taler-merchant-httpd_get-private-statistics-counter-SLUG.c',
    173     'taler-merchant-httpd_get-private-statistics-report-transactions.c',
    174     'taler-merchant-httpd_qr.c',
    175     'taler-merchant-httpd_get-webui.c',
    176     'taler-merchant-httpd_delete-private-reports-REPORT_ID.c',
    177     'taler-merchant-httpd_get-private-reports-REPORT_ID.c',
    178     'taler-merchant-httpd_get-private-reports.c',
    179     'taler-merchant-httpd_patch-private-reports-REPORT_ID.c',
    180     'taler-merchant-httpd_post-private-reports.c',
    181     'taler-merchant-httpd_delete-private-pots-POT_ID.c',
    182     'taler-merchant-httpd_get-private-pots-POT_ID.c',
    183     'taler-merchant-httpd_get-private-pots.c',
    184     'taler-merchant-httpd_patch-private-pots-POT_ID.c',
    185     'taler-merchant-httpd_post-private-pots.c',
    186     'taler-merchant-httpd_delete-private-groups-GROUP_ID.c',
    187     'taler-merchant-httpd_get-private-groups.c',
    188     'taler-merchant-httpd_patch-private-groups-GROUP_ID.c',
    189     'taler-merchant-httpd_post-private-groups.c',
    190     'taler-merchant-httpd_statics.c',
    191     'taler-merchant-httpd_get-private-donau.c',
    192     'taler-merchant-httpd_post-private-donau.c',
    193     'taler-merchant-httpd_delete-private-donau-DONAU_SERIAL.c',
    194 ]
    195 
    196 merchant_httpd = executable(
    197     'taler-merchant-httpd',
    198     taler_merchant_httpd_SOURCES,
    199     dependencies: [
    200         donau_dep,
    201         donaujson_dep,
    202         libtalermerchantutil_dep,
    203         libtalermerchantbank_dep,
    204         talerutil_dep,
    205         talerjson_dep,
    206         libtalermerchantdb_dep,
    207         talerpq_dep,
    208         talerkyclogic_dep,
    209         talerbank_dep,
    210         talermhd_dep,
    211         talerexchange_dep,
    212         talertemplating_dep,
    213         gnunetutil_dep,
    214         gnunetjson_dep,
    215         gnunetcurl_dep,
    216         pq_dep,
    217         mhd_dep,
    218         json_dep,
    219         qrencode_dep,
    220     ],
    221     include_directories: [incdir, configuration_inc],
    222     install: true,
    223 )
    224 
    225 
    226 
    227 executable(
    228     'taler-merchant-kyccheck',
    229     ['taler-merchant-kyccheck.c'],
    230     dependencies: [
    231         libtalermerchantutil_dep,
    232         talerutil_dep,
    233         talerjson_dep,
    234         libtalermerchantdb_dep,
    235         talerpq_dep,
    236         talerexchange_dep,
    237         gnunetutil_dep,
    238         gnunetjson_dep,
    239         gnunetcurl_dep,
    240         pq_dep,
    241         curl_dep,
    242         json_dep,
    243     ],
    244     include_directories: [incdir, configuration_inc],
    245     install: true,
    246 )
    247 
    248 
    249 
    250 executable(
    251     'taler-merchant-reconciliation',
    252     ['taler-merchant-reconciliation.c'],
    253     dependencies: [
    254         libtalermerchantutil_dep,
    255         talerutil_dep,
    256         talerjson_dep,
    257         libtalermerchantdb_dep,
    258         talerpq_dep,
    259         talerexchange_dep,
    260         gnunetpq_dep,
    261         gnunetutil_dep,
    262         gnunetjson_dep,
    263         gnunetcurl_dep,
    264         pq_dep,
    265         curl_dep,
    266     ],
    267     include_directories: [incdir, configuration_inc],
    268     install: true,
    269 )
    270 
    271 
    272 
    273 executable(
    274     'taler-merchant-report-generator',
    275     ['taler-merchant-report-generator.c'],
    276     dependencies: [
    277         libtalermerchantutil_dep,
    278         talerutil_dep,
    279         talerjson_dep,
    280         libtalermerchantdb_dep,
    281         talerpq_dep,
    282         talercurl_dep,
    283         talerexchange_dep,
    284         gnunetpq_dep,
    285         gnunetutil_dep,
    286         gnunetjson_dep,
    287         gnunetcurl_dep,
    288         pq_dep,
    289         curl_dep,
    290         json_dep,
    291     ],
    292     include_directories: [incdir, configuration_inc],
    293     install: true,
    294 )
    295 
    296 
    297 
    298 executable(
    299     'taler-merchant-webhook',
    300     ['taler-merchant-webhook.c'],
    301     dependencies: [
    302         libtalermerchantutil_dep,
    303         talerutil_dep,
    304         talerjson_dep,
    305         libtalermerchantdb_dep,
    306         talermhd_dep,
    307         talerpq_dep,
    308         talerexchange_dep,
    309         gnunetutil_dep,
    310         gnunetjson_dep,
    311         gnunetcurl_dep,
    312         pq_dep,
    313         curl_dep,
    314         json_dep,
    315     ],
    316     include_directories: [incdir, configuration_inc],
    317     install: true,
    318 )
    319 
    320 
    321 executable(
    322     'taler-merchant-wirewatch',
    323     ['taler-merchant-wirewatch.c'],
    324     dependencies: [
    325         libtalermerchantutil_dep,
    326         libtalermerchantbank_dep,
    327         talerutil_dep,
    328         talerjson_dep,
    329         libtalermerchantdb_dep,
    330         talermhd_dep,
    331         talerpq_dep,
    332         talerexchange_dep,
    333         gnunetutil_dep,
    334         gnunetjson_dep,
    335         gnunetcurl_dep,
    336         pq_dep,
    337         curl_dep,
    338         json_dep,
    339     ],
    340     include_directories: [incdir, configuration_inc],
    341     install: true,
    342 )
    343 
    344 
    345 
    346 if donau_dep.found()
    347     executable(
    348         'taler-merchant-donaukeyupdate',
    349         ['taler-merchant-donaukeyupdate.c'],
    350         dependencies: [
    351             libtalermerchantutil_dep,
    352             talerutil_dep,
    353             talerjson_dep,
    354             libtalermerchantdb_dep,
    355             talermhd_dep,
    356             talerpq_dep,
    357             talerexchange_dep,
    358             gnunetutil_dep,
    359             gnunetjson_dep,
    360             gnunetcurl_dep,
    361             pq_dep,
    362             curl_dep,
    363             donau_dep,
    364         ],
    365         include_directories: [incdir, configuration_inc],
    366         install: true,
    367     )
    368 
    369 endif
    370 
    371 
    372 test_merchant_kyc_order = executable(
    373     'test_merchant_kyc_order',
    374     [
    375         'test_merchant_kyc_order.c',
    376         'taler-merchant-httpd_kyc-order.c',
    377     ],
    378     dependencies: [
    379         talerjson_dep,
    380         gnunetutil_dep,
    381         json_dep,
    382     ],
    383     include_directories: [incdir, configuration_inc],
    384     install: false,
    385 )
    386 test(
    387     'test_merchant_kyc_order',
    388     test_merchant_kyc_order,
    389     suite: ['backend'],
    390 )
    391 
    392 test_merchant_kyccheck = executable(
    393     'test_merchant_kyccheck',
    394     ['test_merchant_kyccheck.c'],
    395     dependencies: [
    396         libtalermerchantutil_dep,
    397         talerutil_dep,
    398         talerjson_dep,
    399         libtalermerchantdb_dep,
    400         talerpq_dep,
    401         talerexchange_dep,
    402         gnunetutil_dep,
    403         gnunetjson_dep,
    404         gnunetcurl_dep,
    405         pq_dep,
    406         curl_dep,
    407         json_dep,
    408     ],
    409     include_directories: [incdir, configuration_inc],
    410     install: false,
    411 )
    412 
    413 test('test_merchant_kyccheck', test_merchant_kyccheck, suite: ['backend'])
    414 
    415 # Uses a disposable PostgreSQL cluster and real HTTP long polls.
    416 test(
    417     'kyc-refresh',
    418     find_program('python3'),
    419     args: [
    420         files('../backenddb/test_kyc_refresh.py'),
    421         meson.project_source_root(),
    422         meson.project_build_root(),
    423     ],
    424     depends: [merchant_httpd, test_merchant_kyccheck, gprocedures_sql, iprocedures_sql] + migration_sql,
    425     suite: ['backenddb', 'integrationtests'],
    426     timeout: 180,
    427 )