Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

OnePipe PWT is growing, and there’s a need to have a plan for managing Mandates. Especially for bundlers.

Gliffy
imageAttachmentIdatt1988853783
macroId91916813-cea5-47a3-a662-b0482b2d9256
baseUrlhttps://onepipe.atlassian.net/wiki
nameMandates
diagramAttachmentIdatt1990557699
containerId1989574661
timestamp1650628013953

Learnings from customers like Omnibiz have led to several conversations about making Mandate a service on OnePipe.

Some of these issues are;

  1. How to know if there’s a pending mandate for a customer

  2. How to get all pending mandates on an account

  3. How to delete mandate(s)

If this is the final solution, the plan is to have the following services;

  • Create Mandate

  • Delete Mandate

  • Get Mandates

  • Fetch Mandates

Create Mandate

This service is used to create a new mandate for a customer, the customer_ref needs to have an existing account number(s) tied to it with the calling APP;

Request

Code Block
languagejson
{
    "request_ref": "{{request-ref}}",
    "request_type": "open_account",
    "auth": {
        "type": null,
        "secure": null,
        "auth_provider": "OnePipe",
        "route_mode": null
    },
    "transaction": {
        "mock_mode": "Live",
        "transaction_ref": "{{transaction-ref}}",
        "transaction_desc": "A random transaction",
        "transaction_ref_parent": null,
        "amount": 0,
        "customer": {
            "customer_ref": "{{phone_number}}",
            "firstname": "Akin",
            "surname": "Olunloye",
            "email": "akin@gmail.com",
            "mobile_no": "2349066870818"
        },
        "meta": {
        },
        "details": {
            "grb_status": "pwt-active",
            "pwt_item_description": "Order fee",
    "pwt_item_code": "{{payment-item-code}}", 
    "pwt_item_amount": "5000",
    "mandate_type": "STATIC|FIXED|FORCED"
        }
    }
}

Response: PendingFulfilment

Code Block
languagejson
{
  "status": "PendingFulfilment",
  "message": "Request processed successfully",
  "data": {
    "provider_response_code": "00",
    "provider": "OnePipe",
    "errors": null,
    "error": null,
    "provider_response": {
      "account_number": "9012807653",
      "mandate_id": "3949004",
      "mandate_desc": "A bottle of beer",
      "mandate_type": "STATIC|FIXED|FORCED",
      "account_reference": "2349066870818",
      "account_name": "Akin Olunloye",
      "currency_code": "NGN",
      "customer_email": "uju@gmail.com",
      "bank_name": "Polaris Bank Limited",
      "bank_code": "076",
      "status": "PendingFulfilment",
      "created_on": "2021-11-01-19-11-55",
    }
  }
}

Get Mandates

This service accepts the customer_ref and returns all the mandates on the account.

Request:

Code Block
languagejson
{
    "request_ref": "{{request-ref}}",
    "request_type": "get_mandates",
    "auth": {
        "type": null,
        "secure": null,
        "auth_provider": "OnePipe",
        "route_mode": null
    },
    "transaction": {
        "mock_mode": "Live",
        "transaction_ref": "{{transaction-ref}}",
        "transaction_desc": "A random transaction",
        "transaction_ref_parent": null,
        "amount": 0,
        "customer": {
            "customer_ref": "{{phone_number}}",
            "firstname": "Akin",
            "surname": "Olunloye",
            "email": "akin@gmail.com",
            "mobile_no": "2349066870818"
        },
        "meta": {
        },
        "details": {

        }
    }
}

Response:

Code Block
languagejson
{
  "status": "Successful",
  "message": "Request processed successfully",
  "data": {
    "provider_response_code": "00",
    "provider": "OnePipe",
    "errors": null,
    "error": null,
    "provider_response": [
    {
      "account_number": "9012807653",
      "mandate_id": "3949004",
      "mandate_desc": "A bottle of beer",
      "mandate_type": "STATIC|FIXED|FORCED",
      "account_reference": "2349066870818",
      "status": "PendingFulfilment",
      "created_on": "2021-11-01-19-11-55",
    },
    {
      "account_number": "9012807653",
      "mandate_id": "3949009944",
      "mandate_desc": "A shot of vodka",
      "mandate_type": "STATIC|FIXED|FORCED",
      "account_reference": "2349066870818",
      "status": "Fulfiled",
      "created_on": "2021-11-01-19-11-55",
    }
    ]
  }
}