# @mojaloop/dfsp-transfer

> DFSP Transfer service

Latest version **0.20.26** (published 2017-12-13) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @mojaloop/dfsp-transfer
pnpm add @mojaloop/dfsp-transfer
yarn add @mojaloop/dfsp-transfer
bun add @mojaloop/dfsp-transfer
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.20.26 |
| Published | 2017-12-13 |
| First published | 2017-12-07 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=4.4.7 |
| Dependencies | 15 |
| Known vulnerabilities | 0 (+4 in 3 direct dependencies) |
| Install scripts | no |
| Author | Stamen Peev |
| Maintainers | bhodghead, l1pcircleci |

## Links

- npm: https://www.npmjs.com/package/@mojaloop/dfsp-transfer
- Repository: https://github.com/mojaloop/dfsp-transfer
- Homepage: https://github.com/mojaloop/dfsp-transfer#readme
- Issues: https://github.com/mojaloop/dfsp-transfer/issues
- npm.io page: https://npm.io/package/@mojaloop/dfsp-transfer

## Dependencies (15)

- [ws](https://npm.io/package/ws.md) 1.1.1
- [joi](https://npm.io/package/joi.md) 9.1.1
- [pm2](https://npm.io/package/pm2.md) 2.0.18
- [ut-bus](https://npm.io/package/ut-bus.md) ^5.12.1
- [ut-run](https://npm.io/package/ut-run.md) ^8.1.0
- [ut-cache](https://npm.io/package/ut-cache.md) ^5.5.3
- [ut-error](https://npm.io/package/ut-error.md) ^5.4.2
- [ut-log-dfsp](https://npm.io/package/ut-log-dfsp.md) ^5.0.1
- [ut-port-http](https://npm.io/package/ut-port-http.md) ^6.4.1
- [ut-port-script](https://npm.io/package/ut-port-script.md) ^5.5.1
- [ut-port-console](https://npm.io/package/ut-port-console.md) ~6.2.13
- [ut-port-jsonrpc](https://npm.io/package/ut-port-jsonrpc.md) ^5.6.4
- [ut-port-postgres](https://npm.io/package/ut-port-postgres.md) ^5.7.7
- [ut-port-httpserver](https://npm.io/package/ut-port-httpserver.md) ~8.11.4
- [ut-port-performance](https://npm.io/package/ut-port-performance.md) ^5.4.7

## Recent versions

- 0.20.26 (latest) — 2017-12-13
- 0.20.24 — 2017-12-07

## README

# Transfer service API

-----

This service contains information about transfers, invoices and invoice notifications. It is used to hold the following data: 
 - Invoices when they are created by merchants;
 - Invoice notifications when they are sent from merchant's DFSP to the client's DFSP;
 - Invoice types;
 - Invoice statuses;
 - Invoice payments;
 
Invoice types can be one of the following: 
 * Standard - Standard invoices;
 * Pending - Not assigned one-time invoice;
 * Product - Not assigned multy-payer invoice;
 * CashOut - Cash out invoices;

Invoice statuses are as follow: 
 * executed - Invoice has been executed by customer;
 * approved - Invoice has been approved by customer;
 * pending - Invoice is pending;
 * rejected - Invoice has been rejected by customer;
 * cancelled - Invoice has been cancelled by merchant;

## Transfer service has exposed the following **private** API calls in two spaces - `[bulk]` and `[transfer]`: ##

### Add batch ###

* **URL**

  `/rpc/bulk/batch/add`

* **Method**

  `POST`

* **Data Params**

  **Required**

   * `name [string] - Batch name`
   * `actorId [string] - Actor id`
   * `fileName [string] - File name`
   * `originalFileName [string] - Original file name`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `batchId [number] - Batch id`
       * `name [string] - Batch name`
       * `batchStatusId [number] - Batch status id`
       * `actorId [string] - Actor id`

### Edit batch ###

* **URL**

  `/rpc/bulk/batch/edit`

* **Method**

  `POST`

* **Data Params**

  **Required**

   * `actorId [string] - Actor id`
   * `batchId [number] - Batch Id`

   **Optional**

   * `account [string] - Account`
   * `startDate [date] - Batch start date`
   * `expirationDate [date] - Batch expiration date`
   * `name [string] - Batch name`
   * `batchStatusId [number] - Batch status id`
   * `batchInfo [string] - Batch info`
   * `uploadInfo [string] - Upload info`
   * `fileName [string] - Batch file name`
   * `originalFileName [string] - Batch original file name`
   * `validatedAt [date] - Batch validation date`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `batchId [number] - Batch Id`
       * `account [string] - Account`
       * `startDate [date] - Batch start date`
       * `expirationDate [date] - Batch expiration date`
       * `name [string] - Batch name`
       * `batchStatusId [number] - Batch status id`
       * `batchInfo [string] - Batch info`
       * `uploadInfo [string] - Upload info`
       * `actorId [string] - Actor id`
       * `fileName [string] - Batch file name`
       * `originalFileName [string] - Batch original file name`
       * `validatedAt [date] - Batch validation date`
       

### Fetch batch ###

* **URL**

  `/rpc/bulk/batch/fetch`

* **Method**

  `POST`

* **Data Params**

   **Optional**

   * `actorId [string] - Actor id`
   * `name [string] - Batch name`
   * `batchStatusId [number] - Batch status id`
   * `fromDate [date] - From date`
   * `toDate [date] - To date`

### Note: `'fromDate'` and `'toDate'` are related to the creation date of the batch. They are not related to the `'startDate'` and `'expirationDate'` of the batch.

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `batchId [number] - Batch Id`
       * `account [string] - Account`
       * `startDate [date] - Batch start date`
       * `expirationDate [date] - Batch expiration date`
       * `name [string] - Batch name`
       * `batchStatusId [number] - Batch status id`
       * `batchInfo [string] - Batch info`
       * `uploadInfo [string] - Upload info`
       * `actorId [string] - Actor id`
       * `fileName [string] - Batch file name`
       * `originalFileName [string] - Batch original file name`
       * `validatedAt [date] - Batch validation date`


### Get batch ###

* **URL**

  `/rpc/bulk/batch/get`

* **Method**

  `POST`

* **Data Params**

   **Required**

   * `batchId [number] - Batch id`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `batchId [number] - Batch Id`
       * `name [string] - Batch name`
       * `account [string] - Account`
       * `startDate [date] - Batch start date`
       * `expirationDate [date] - Batch expiration date`
       * `batchStatusId [number] - Batch status id`
       * `actorId [string] - Actor id`
       * `info [string] - Batch info`
       * `fileName [string] - Batch file name`
       * `originalFileName [string] - Batch original file name`
       * `createdAt [date] - Batch create date`
       * `status [string] - Batch status`
       * `updateAd [date] - Batch update date`
       * `paymentsCount [number] - Batch payments count`


### Process batch ###

* **URL**

  `/rpc/bulk/batch/process`

* **Method**

  `POST`

* **Data Params**

   **Required**

   * `batchId [number] - Batch id`
   * `actorId [string] - Actor id`
   * `startDate [date] - Batch start date`
   * `expirationDate [date] - Batch expiration date`
   * `account [string] - Account`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `queued [number] - Count of the payments added in the queue`
       

### Batch ready ###

* **URL**

  `/rpc/bulk/batch/ready`

* **Method**

  `POST`

* **Data Params**

   **Required**

   * `batchId [number] - Batch id`
   * `actorId [string] - Actor id`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `batchId [number] - Batch Id`
       * `account [string] - Account`
       * `startDate [date] - Batch start date`
       * `expirationDate [date] - Batch expiration date`
       * `name [string] - Batch name`
       * `batchStatusId [number] - Batch status id`
       * `batchInfo [string] - Batch info`
       * `uploadInfo [string] - Upload info`
       * `actorId [string] - Actor id`
       * `fileName [string] - Batch file name`
       * `originalFileName [string] - Batch original file name`
       * `validatedAt [date] - Batch validation date`


### Batch revert status ###

* **URL**

  `/rpc/bulk/batch/revertStatus`

* **Method**

  `POST`

* **Data Params**

   **Required**

   * `batchId [number] - Batch id`
   * `actorId [string] - Actor id`
   * `partial [boolean] - Is it one payment checked or whole batch`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `batchId [number] - Batch Id`
       * `account [string] - Account`
       * `startDate [date] - Batch start date`
       * `expirationDate [date] - Batch expiration date`
       * `name [string] - Batch name`
       * `batchStatusId [number] - Batch status id`
       * `batchInfo [string] - Batch info`
       * `uploadInfo [string] - Upload info`
       * `actorId [string] - Actor id`
       * `fileName [string] - Batch file name`
       * `originalFileName [string] - Batch original file name`
       * `validatedAt [date] - Batch validation date`


### Fetch batch status ###

* **URL**

  `/rpc/bulk/batchStatus/fetch`

* **Method**

  `POST`

* **Data Params**

   **Required**
    NONE

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `key [number] - Status key`
       * `name [string] - Status name`
       * `description [string] - Status description`
       

### Add payments ###

* **URL**

  `/rpc/bulk/payment/add`

* **Method**

  `POST`

* **Data Params**

   **Required**

   * `actorId [string] - Actor id`
   * `payments [json] - json containing list with payments`
   * `batchId [number] - Batch id`

## Note ##

`payments` should have the following fields icluded:
 - `sequenceNumber [number] - Sequence number`
 - `identifier [string] - User's identifier`
 - `firstName [string] - User's first name`
 - `lastName [string] - User's last name`
 - `dob [date] - Date of birth`
 - `nationalId [string] - National Id`
 - `amount [number] - Amount`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `insertedRows [number] - Count of inserted payments`


### Edit payments ###

* **URL**

  `/rpc/bulk/payment/add`

* **Method**

  `POST`

* **Data Params**

   **Required**

   * `actorId [string] - Actor id`
   * `payments [json] - json containing list with payments`

## Note ##

`payments` should have the following fields icluded:
 - `paymentId [number] - Payment id`
 - `batchId [number] - Batch id`
 - `sequenceNumber [number] - Sequence number`
 - `identifier [string] - User's identifier`
 - `firstName [string] - User's first name`
 - `lastName [string] - User's last name`
 - `dob [date] - Date of birth`
 - `nationalId [string] - National Id`
 - `amount [number] - Amount`
 - `info [string] - Payment info`
 - `payee [json] - Payee info`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `payments [json] - json with the edited payments`


### Fetch payments ###

* **URL**

  `/rpc/bulk/payment/fetch`

* **Method**

  `POST`

* **Data Params**

   **Optional**

   * `paymentId [number array] - Array with payment ids`
   * `batchId [number] - Batch id`
   * `nationalId [string] - Batch id`
   * `paymentStatusId [number array] - Array with payment status ids`
   * `fromDate [date] - From date`
   * `toDate [date] - To date`
   * `sequenceNumber [number] - Sequence number`
   * `name [string] - Batch name`
   * `pageSize [number] - Page size`
   * `pageNumber [number] - Page number`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `data [json] - Result set from the search`
       * `pagination [json] - json with the following fields included`
          - `'pageNumber'` - Requested page number
          - `'pageSize'` - Returned payments from the result set for this page
          - `'pagesTotal'` - Returned count of pages from the result set
          - `'recordsTotal'` - Total count of payments matched from search


### Get payment ###

* **URL**

  `/rpc/bulk/payment/get`

* **Method**

  `POST`

* **Data Params**

   **Required**

   * `paymentId [number] - Array with payment ids`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `paymentId [number] - Payment id`
       * `batchId [number] - Batch id`
       * `sequenceNumber [number] - Sequence number`
       * `identifier [string] - User's identifier`
       * `firstName [string] - User's first name`
       * `lastName [string] - User's last name`
       * `dob [date] - User's date of birth`
       * `nationalId [string] - User's national id`
       * `amount [number] - Transfer amount`
       * `paymentStatusId [number] - Payment status id`
       * `info [string] - Payment info`
       * `payee [json] - Payee data`
       * `name [string] - Batch name`
       * `createdAt [date] - Payment's created at date`
       * `updatedAt [date] - Payment's updated at date`
       * `account [string] - Batch account`
       * `startDate [date] - Batch's start date`
       * `expirationDate [date] - Batch's expiration date`
       * `actorId [string] - Actor id`


### Get payments for processing ###

* **URL**

  `/rpc/bulk/payment/getForProcessing`

* **Method**

  `POST`

* **Data Params**

   **Required**

   * `count [number] - Number of payments to be returned. Default is set to 100`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `paymentId [number] - Payment id`
       * `batchId [number] - Batch id`
       * `sequenceNumber [number] - Sequence number`
       * `identifier [string] - User's identifier`
       * `firstName [string] - User's first name`
       * `lastName [string] - User's last name`
       * `dob [date] - User's date of birth`
       * `nationalId [string] - User's national id`
       * `amount [number] - Transfer amount`
       * `paymentStatusId [number] - Payment status id`
       * `info [string] - Payment info`
       * `createdAt [date] - Payment's created at date`
       * `updatedAt [date] - Payment's updated at date`
      

### Pre-process payment ###

* **URL**

  `/rpc/bulk/payment/preProcess`

* **Method**

  `POST`

* **Data Params**

   **Required**

   * `paymentId [number] - Payment id`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `paymentId [number] - Payment id`
       * `batchId [number] - Batch id`
       * `sequenceNumber [number] - Sequence number`
       * `identifier [string] - User's identifier`
       * `firstName [string] - User's first name`
       * `lastName [string] - User's last name`
       * `dob [date] - User's date of birth`
       * `nationalId [string] - User's national id`
       * `amount [number] - Transfer amount`
       * `paymentStatusId [number] - Payment status id`
       * `info [string] - Payment info`
       * `payee [json] - Payee data`
       * `name [string] - Batch name`
       * `createdAt [date] - Payment's created at date`
       * `updatedAt [date] - Payment's updated at date`
       * `account [string] - Batch account`
       * `startDate [date] - Batch's start date`
       * `expirationDate [date] - Batch's expiration date`
       * `actorId [string] - Actor id`


### Process payment ###

* **URL**

  `/rpc/bulk/payment/process`

* **Method**

  `POST`

* **Data Params**

   **Required**

   * `paymentId [number] - Payment id`
   * `actorId [string] - Actor id`
   * `error [string] - Error message`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `paymentId [number] - Payment id`
       * `batchId [number] - Batch id`
       * `sequenceNumber [number] - Sequence number`
       * `identifier [string] - User's identifier`
       * `firstName [string] - User's first name`
       * `lastName [string] - User's last name`
       * `dob [date] - User's date of birth`
       * `nationalId [string] - User's national id`
       * `amount [number] - Transfer amount`
       * `paymentStatusId [number] - Payment status id`
       * `info [string] - Payment info`
       * `payee [json] - Payee data`
       * `name [string] - Batch name`
       * `createdAt [date] - Payment's created at date`
       * `updatedAt [date] - Payment's updated at date`
       * `account [string] - Batch account`
       * `startDate [date] - Batch's start date`
       * `expirationDate [date] - Batch's expiration date`
       * `actorId [string] - Actor id`


### Fetch payment statuses ###

* **URL**

  `/rpc/bulk/paymentStatus/fetch`

* **Method**

  `POST`

* **Data Params**

   **Required**

    NONE

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `key [number] - Payment status key`
       * `name [string] - Payment status name`
       * `description [string] - Payment status description`
       

### Add invoice notification ###

* **URL**

  `/rpc/transfer/invoiceNotification/add`

* **Method**

  `POST`

* **Data Params**


  **Required**

   * `invoiceUrl [string] - Invoice URL`
   * `identifier [string] - Identifier`
   * `memo [string] - Invoice memo`

* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `invoiceNotificationId [number] - Invoice notification id`
       * `invoiceUrl [string] - Invoice URL`
       * `identifier [string] - Identifier`
       * `status [string] - Invoice status`
       * `memo [string] - Invoice memo`


### Cancel invoice notification ###

* **URL**

  `/rpc/transfer/invoiceNotification/cancel`

* **Method**

  `POST`

* **Data Params**


  **Required**

   * `invoiceUrl [string] - Invoice URL`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `invoiceNotificationId [number] - Invoice notification id`
       * `invoiceUrl [string] - Invoice URL`
       * `identifier [string] - Identifier`
       * `status [string] - Invoice status`
       * `memo [string] - Invoice memo`


### Edit invoice notification ###

* **URL**

  `/rpc/transfer/invoiceNotification/edit`

* **Method**

  `POST`

* **Data Params**


  **Required**

   * `invoiceNotificationId [number] - Invoice notification id`
   * `invoiceNotificationStatusId [number] - Invoice notification status id`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `invoiceNotificationId [number] - Invoice notification id`
       * `invoiceUrl [string] - Invoice URL`
       * `identifier [string] - Identifier`
       * `status [string] - Invoice status`
       * `memo [string] - Invoice memo`


### Execute invoice notification ###

* **URL**

  `/rpc/transfer/invoiceNotification/execute`

* **Method**

  `POST`

* **Data Params**


  **Required**

   * `invoiceNotificationId [number] - Invoice notification id`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `invoiceNotificationId [number] - Invoice notification id`
       * `invoiceUrl [string] - Invoice URL`
       * `identifier [string] - Identifier`
       * `status [string] - Invoice status`
       * `memo [string] - Invoice memo`

### Fetch invoice notification ###

* **URL**

  `/rpc/transfer/invoiceNotification/fetch`

* **Method**

  `POST`

* **Data Params**


  **Required**

   * `identifier [string] - Identifier`
   * `status [string] - Invoice notification id`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `invoiceNotificationId [number] - Invoice notification id`
       * `invoiceUrl [string] - Invoice URL`
       * `identifier [string] - Identifier`
       * `status [string] - Invoice status`
       * `memo [string] - Invoice memo`


### Get invoice notification ###

* **URL**

  `/rpc/transfer/invoiceNotification/get`

* **Method**

  `POST`

* **Data Params**

  **Required**

   * `invoiceNotificationId [number] - Invoice notification id`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `invoiceNotificationId [number] - Invoice notification id`
       * `invoiceUrl [string] - Invoice URL`
       * `identifier [string] - Identifier`
       * `status [string] - Invoice status`
       * `memo [string] - Invoice memo`

### Reject invoice notification ###

* **URL**

  `/rpc/transfer/invoiceNotification/reject`

* **Method**

  `POST`

* **Data Params**

  **Required**

   * `invoiceNotificationId [number] - Invoice notification id`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `invoiceNotificationId [number] - Invoice notification id`
       * `invoiceUrl [string] - Invoice URL`
       * `identifier [string] - Identifier`
       * `status [string] - Invoice status`
       * `memo [string] - Invoice memo`       


### Invoice add ###

* **URL**

  `/rpc/transfer/invoice/add`

* **Method**

  `POST`

* **Data Params**

  **Required**

   * `account [string] - Account`
   * `name [string] - Name`
   * `currencyCode [string] - Currency code`
   * `amount [number] - Amount`
   * `merchantIdentifier [string] - Merchant identifier`
   * `identifier [string] - Client identifier`
   * `invoiceType [string] - Invoice type`
   * `invoiceInfo [string] - Invoice info`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `type [string] - Invoice type`
       * `invoiceId [number] - Invoice id`
       * `account [string] - Account`
       * `name [string] - Name`
       * `currencyCode [string] - Currency code`   
       * `currencySymbol [string] - Currency symbol`   
       * `amount [number] - Amount`  
       * `status [string] - Invoice status`  
       * `invoiceType [string] - Invoice type`
       * `merchantIdentifier [string] - Merchant identifier`
       * `invoiceInfo [string] - Invoice info`


### Invoice cancel ###

* **URL**

  `/rpc/transfer/invoice/cancel`

* **Method**

  `POST`

* **Data Params**

  **Required**

   * `invoiceId [number] - Invoice id`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `type [string] - Invoice type`
       * `invoiceId [number] - Invoice id`
       * `account [string] - Account`
       * `name [string] - Name`
       * `currencyCode [string] - Currency code`   
       * `currencySymbol [string] - Currency symbol`   
       * `amount [number] - Amount`  
       * `status [string] - Invoice status`  
       * `invoiceType [string] - Invoice type`
       * `merchantIdentifier [string] - Merchant identifier`
       * `invoiceInfo [string] - Invoice info`


### Invoice edit ###

* **URL**

  `/rpc/transfer/invoice/edit`

* **Method**

  `POST`

* **Data Params**

  **Required**

   * `invoiceId [number] - Invoice id`
   * `invoiceStatusId [number] - Invoice status id`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `type [string] - Invoice type`
       * `invoiceId [number] - Invoice id`
       * `account [string] - Account`
       * `name [string] - Name`
       * `currencyCode [string] - Currency code`   
       * `currencySymbol [string] - Currency symbol`   
       * `amount [number] - Amount`  
       * `status [string] - Invoice status`  
       * `invoiceType [string] - Invoice type`
       * `merchantIdentifier [string] - Merchant identifier`
       * `invoiceInfo [string] - Invoice info`


### Invoice execute ###

* **URL**

  `/rpc/transfer/invoice/edit`

* **Method**

  `POST`

* **Data Params**

  **Required**

   * `invoiceId [number] - Invoice id`
   * `identifier [string] - Identifier`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `type [string] - Invoice type`
       * `invoiceId [number] - Invoice id`
       * `account [string] - Account`
       * `name [string] - Name`
       * `currencyCode [string] - Currency code`   
       * `currencySymbol [string] - Currency symbol`   
       * `amount [number] - Amount`  
       * `status [string] - Invoice status`  
       * `invoiceType [string] - Invoice type`
       * `merchantIdentifier [string] - Merchant identifier`
       * `invoiceInfo [string] - Invoice info`


### Invoice fetch ###

* **URL**

  `/rpc/transfer/invoice/fetch`

* **Method**

  `POST`

* **Data Params**

  **Optional**

   * `merchantIdentifier [string] - Merchant identifier`
   * `account [string] - Account`
   * `status [string array] - Array with invoice statuses`
   * `invoiceType [string array] - Array with invoice types`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `type [string] - Invoice type`
       * `invoiceId [number] - Invoice id`
       * `account [string] - Account`
       * `name [string] - Name`
       * `currencyCode [string] - Currency code`   
       * `currencySymbol [string] - Currency symbol`   
       * `amount [number] - Amount`  
       * `status [string] - Invoice status`  
       * `invoiceType [string] - Invoice type`
       * `merchantIdentifier [string] - Merchant identifier`
       * `invoiceInfo [string] - Invoice info`


### Invoice get ###

* **URL**

  `/rpc/transfer/invoice/get`

* **Method**

  `POST`

* **Data Params**

  **Optional**

   * `invoiceId [number] - Invoice id`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `type [string] - Invoice type`
       * `invoiceId [number] - Invoice id`
       * `account [string] - Account`
       * `name [string] - Name`
       * `currencyCode [string] - Currency code`   
       * `currencySymbol [string] - Currency symbol`   
       * `amount [number] - Amount`  
       * `status [string] - Invoice status`  
       * `invoiceType [string] - Invoice type`
       * `merchantIdentifier [string] - Merchant identifier`
       * `invoiceInfo [string] - Invoice info`


### Invoice reject ###

* **URL**

  `/rpc/transfer/invoice/reject`

* **Method**

  `POST`

* **Data Params**

  **Optional**

   * `invoiceId [number] - Invoice id`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `type [string] - Invoice type`
       * `invoiceId [number] - Invoice id`
       * `account [string] - Account`
       * `name [string] - Name`
       * `currencyCode [string] - Currency code`   
       * `currencySymbol [string] - Currency symbol`   
       * `amount [number] - Amount`  
       * `status [string] - Invoice status`  
       * `invoiceType [string] - Invoice type`
       * `merchantIdentifier [string] - Merchant identifier`
       * `invoiceInfo [string] - Invoice info`


### Invoice payer add ###

* **URL**

  `/rpc/transfer/invoicePayer/add`

* **Method**

  `POST`

* **Data Params**

  **Optional**

   * `invoiceId [number] - Invoice id`
   * `identifier [string] - Identifier`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `invoicePayerId [number] - Invoice payer id`
       * `invoiceId [number] - Invoice id`
       * `identifier [string] - Identifier`
       * `createdAt [date] - Created at date`
       

### Invoice payer fetch ###

* **URL**

  `/rpc/transfer/invoicePayer/fetch`

* **Method**

  `POST`

* **Data Params**

  **Optional**

   * `invoiceId [number] - Invoice id`
   * `paid [boolean] - Paid`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `invoicePayerId [number] - Invoice payer id`
       * `invoiceId [number] - Invoice id`
       * `identifier [string] - Identifier`
       * `createdAt [date] - Created at date`


### Invoice payer get ###

* **URL**

  `/rpc/transfer/invoicePayer/get`

* **Method**

  `POST`

* **Data Params**

  **Optional**

   * `invoicePayerId [number] - Invoice payer id`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `invoicePayerId [number] - Invoice payer id`
       * `invoiceId [number] - Invoice id`
       * `identifier [string] - Identifier`
       * `createdAt [date] - Created at date`


### Transfer push execute ###

* **URL**

  `/rpc/transfer/push/execute`

* **Method**

  `POST`

* **Data Params**

  **Optional**

   * `sourceAccount [string] - Source account`
   * `receiver [string] - Receiver`
   * `destinationAmount [number] - Destination amount`
   * `currency [string] - Currency code`
   * `fee [number] - Fee amount`
   * `memo [string] - Transaction memo`
  
* **Success Response**

  * **Code:** 200 <br />
    **Content**
       * `id [string] - Payment id`
       * `address [string] - Address`
       * `destinationAmount [number] - Destination amount`
       * `sourceAmount [number] - Source amount`
       * `sourceAccount [string] - Source account`
       * `expiresAt [date] - Expiration date`
       * `condition [string] - Condition`
       * `fulfillment [string] - Fulfillment`
       * `status [string] - Status`

---
_Source: https://npm.io/package/@mojaloop/dfsp-transfer · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
