Flash Payments Developer API
Back to Flash PaymentsGraphQL Playground
  • Overview
  • Basics
    • Sending data as JSON
  • Authentication
  • Quote
  • Conversions
    • Query conversions
    • Conversion statuses
  • Balance
    • Statement
  • Recipients
    • Required fields
  • Senders
  • Payments
    • Payment statuses
    • Query payments
    • Send funds
    • Auto receive funds
  • Institutions
  • Withdrawals
    • Withdraw funds
    • Withdrawal statuses
    • Query withdrawals
  • Deposits
    • Deposit statuses
    • Query deposits
    • Refund deposits
  • Sub-clients
    • Create sub-clients
    • Disable, Activate and Update sub-clients
    • Query sub-clients
  • Webhooks
    • Regular webhooks
    • Ad hoc webhooks
  • Reference data
    • Bank information
    • Rejection codes
  • Change log
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
Export as PDF

Senders

CRUD queries for your payment senders

PreviousRequired fieldsNextPayments

Last updated 3 months ago

Was this helpful?

We are legally obliged to collect the actual sender details. Please, do not send us an intermediate organisation details such as exchanges, banks, gateways, etc.

If receiving from yourself then please provide your own details. See the DOCS in for other sender details options.

  • sender and senders queries - read your address book.

  • createSender - creates a new record in the Flash Payments database.

  • updateSender - updates an existing sender.

  • deleteSender - deletes an existing sender.

Query single sender

{
  sender(id: "59f2733f2519e236edab0efe") {
    email
    firstName
    lastName
    companyName
    address {
      country
    }
  }
}
{
  "data": {
    "sender": {
      "email": "john@example.com",
      "firstName": "John",
      "lastName": "Smith",
      "companyName": null,
      "address": {
        "country": "GB"
      }
    }
  }
}

Query multiple senders

{
  senders(input: { email: "john@example.com" }) {
    email
    firstName
    lastName
    companyName
    address {
      country
    }
    # there are other properties
  }
}
{
  "data": {
    "senders": [
      {
        "email": "john@example.com",
        "firstName": "John",
        "lastName": "Smith",
        "companyName": null,
        "address": {
          "country": "GB"
        }
      },
      {
        "email": "john@example.com",
        "firstName": null,
        "lastName": null,
        "companyName": "Acme Inc",
        "address": {
          "country": "US"
        }
      },
    ]
  }
}

Create a sender

In addresses thesuburbfield is an Australian suburb. For other countries you should put the city (e.g. Manila or London) or any other small administrative area name.

If you find it technically challenging to submit all components of the sender’s address, we would appreciate it if you could at least collect the sender’s country along with a complete address string that includes the postcode and put them into the country and street fields, respectively. In this case, you can skip the postcode, suburb, and state fields, and the sender record will still be created.

The date of birth (dob) is not required. However, if you don't have it then your transactions will trigger more compliance alerts, thus your payments will be processed much slower (hours or days instead of mere seconds). Also, we charge you more fees for manual labour you cause.

mutation {
  createSender(
    input: {
      firstName: "Malcolm"
      lastName: "Jez"
      dob: "2000-01-01"
      email: "malcolm@example.com"
      mobile: "+61 4123456789"
      address: {
        street: "1 Test St"
        suburb: "London"
        state: "TST"
        country: GB
        postcode: "2000"
      }
      idDoc: {
        type: passport
        docNumber: "GB1234321"
        issuer: "His Majesty’s Passport Office (HMPO)"
        issueDate: "1990-01-01"
        expiryDate: "2045-01-01"
        country: GB
      }
    }
  ) {
    success
    code
    message
    sender {
      id
      nickName
      # there are many other properties
    }
  }
}
mutation {
  createSender(
    input: {
      companyName: "Acme Pte Ltd"
      businessNumber: "12345678912"
      email: "acme@example.com"
      mobile: "+61 4123456789"
      address: {
        street: "1 Test St"
        suburb: "London"
        state: "TST"
        country: GB
        postcode: "2000"
      }
      idDoc: {
        type: certificateOfRegistration
        docNumber: "GB-REG-987654321"
        issuer: "Companies House"
        issueDate: "1990-01-01"
        expiryDate: "2100-01-01"
        country: GB
      }
    }
  ) {
    success
    code
    message
    sender {
      id
      nickName
      # there are many other properties
    }
  }
}

Update sender

mutation {
  updateSender(
    id: "5ca18312ace1db0af5784826"
    input: {
      firstName: "Malcolm"
      lastName: "Jez The Seconds"
      dob: "2000-01-01"
      email: "malcolm@example.com"
      mobile: "+61 4123456789"
      address: {
        street: "1 Test St"
        suburb: "London"
        state: "TST"
        country: GB
        postcode: "2001"
      }
      idDoc: {
        type: passport
        docNumber: "GB1234321"
        issuer: "His Majesty’s Passport Office (HMPO)"
        issueDate: "1990-01-01"
        expiryDate: "2045-01-01"
        country: GB
      }
    }
  ) {
    success
    code
    message
    sender {
      id
      # there are many other properties
    }
  }
}
{
  "data": {
    "updateSender": {
      "success": true,
      "code": "SUCCESS",
      "message": "Sender updated",
      "sender": {
        "id": "5ca18312ace1db0af5784826"
      }
    }
  }
}

Delete sender

mutation {
  deleteSender(id: "5ca18d25ace1db0af5784893") {
    success code message
  }
}
{
  "data": {
    "deleteSender": {
      "success": true,
      "code": "SUCCESS",
      "message": "Sender deleted"
    }
  }
}

Playground