Skip to content

Upload Invoice

Request URL

POST /public/merchant/invoice/upload

Description

After authenticating the merchant through your existing front-end merchant portal UI and requesting a merchant JSON Web Token through the `/payment-link/merchant/get-token` endpoint, you may make a call to this endpoint in order to allow the merchant corresponding to the provided 'x-connectfi-jwtoken' header to upload an invoice (.pdf) associated with the payment link specified by the cFiTransactionId query parameter. This action can also be facilitated through the Payment Link Iframe script when embedded into your existing front-end merchant portal UI.

Schema

Property table for public/merchant/invoice/upload

Property Description Required Schema
cFiTransactionId The transaction ID in the connectFi system Yes {
  "type": "string",
  "pattern": "^[0-9a-zA-Z_]+$",
  "minLength": 1,
  "maxLength": 36,
  "$id": "common-id"
}

Request Body

File should be uploaded as multipart/form-data.

Snippet Examples

javascript

const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
const fileStream = fs.createReadStream('./file/path/fileName.pdf');
const form = new FormData();
form.append('file', fileStream, 'fileName.pdf');
const data = form;
const config = {
  method: 'POST',
  url: '${CONNECTFI_BASE_URL}/public/merchant/invoice/upload',
  headers: {
    ...form.getHeaders(),
    'x-connectfi-jwtoken': "A long random string token received from /payment-link/merchant/get-token request"
  },
  data
};

let result;
try {
  result = await axios.request(config);
  if (result.status === 200) {
    console.log(JSON.stringify(result.data));
  }
} catch (err) {
  console.log({
    errCode: err.code,
    responseStatus: err.response && err.response.status,
    data: err.response && JSON.stringify(err.response.data)
  });
}

cURL

curl --location "CONNECTFI_BASE_URL/public/merchant/invoice/upload" --form "file=@./file/path/fileName.pdf" --header "x-connectfi-jwtoken: A long random string token received from /payment-link/merchant/get-token request" 

Successful Response Examples

200 SUCCESSFUL RESPONSE

HEADERS

Header Value
Content-Type multipart/form-data
x-connectfi-jwtoken A long random string token received from /payment-link/merchant/get-token request

REQUEST BODY

none

RESPONSE BODY

{
    "code": "0",
    "data": {
        "cFiInvoiceId": "TcwgOjo16D0pNKQsqKjp7"
    },
    "requestId": "1d23f0504f2a11ef92543a54d404e711"
}