Versions Compared

Key

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

...

Providers will be required to settle monies collected to a designated account by the client bank, less their fees. The client bank will handle secondary settlement to the apps, less their own fee and OnePipe's.

Special configuration notes

All providers of this service should implement OTP, but support the configuration of otp_override such that based on this configuration, they could be instructed to bypass the OTP requirement for an app.

Settlement & fees model

Depending on the provider implementation, this service supports any of the 3 models.

...

  1. App calls /transact with the right auth details

  2. Provider responds with WaitingForOTP Successful or PendingValidation Failed as may be requiredApp calls /transact/validate to supply OTP if needed

  3. Provider responds with any of the completion codes Successful or Failed.

  4. To query the status of a transaction, the app can call /transact/query

  5. Where the provider supports it, the app can call /transact/reverse to request a reversal

  6. To receive available options for this service, apps can call /transact/options.

Gliffy
imageAttachmentIdatt154960129
macroIdf789c82d-58a3-43fe-99e9-bcb5d9ad3769
baseUrlhttps://onepipe.atlassian.net/wiki
nameOnePipe 2.0 - Collect
diagramAttachmentIdatt154960124
containerId32243713
timestamp1581864667991

...

Code Block
languagejson
{
  "request_ref":"{{request-_ref}}", 
  "request_type":"collectsend_invoice",
  "auth": {
    "type": "bank.accountnull", 
    "secure": "4if1oYEoHx5Kp+PZj6RibJlXbx8zIKkP{{null", 
    "auth_provider": "BeeceptorOnePipe",
    "route_mode":"provider | options | null"
  },
  "transaction": {
    "mock_mode": "live", 
    "transaction_ref": "{{transaction-_ref}}", 
    "transaction_desc": "A random transaction", 
    "transaction_ref_parent": ""null, 
    "amount": 100000,
    "customer":{
    	"customer_ref": "{{customer _id}}",
    	"firstname": "Uju",
         "surname": "Usmanu",
    	"email": "ujuusmanu@gmail.com",//the recipient of the invoice
    	"mobile_no": "234802343132"//the recipeint of the invoice
    },
    "meta":{
    	"a_key":"a_meta_value_1",
    	"another_key":"a_meta_value_2"
    },
    "details": {
      "invoice_number": null "00001",
      "due_date": "09-08-2020",
      "amount_due": "150000",
    }
  }
}

Responses

...

Code Block
languagejson
{
    "status": "Successful",
    "message": "Transaction processed successfully",
    "data": {
        "provider_response_code": "00",
        "provider": "Beeceptor",
        "errors": null,
        "error": null,
        "provider_response": {
      "provider_auth_token": null        "delivery_status": "delivered | failed | pending",
      "paymentoptions": []       "transaction_final_amountcost": 1000"1500", //amount in kobo
      "reference": "897465522772655",       "metainvoice_number": {}"00001",
    }   } }

Waiting for OTP or Validation

Code Block
languagejson
{   "status": "WaitingForOTP | PendingValidation",
  "message"due_date": "Kindly enter the OTP sent to 08142*****67",
  "data": {"09-08-2020",
              "provideramount_response_codedue": "900TO150000",//in kobo
   "provider": "Beeceptor",     "errors": null,     "error": null,"payment_link": "http://pages.onepipe.io/p/7uL21J"
      "provider_response": null   } }

Failed

Code Block
languagejson
{   "statusreference": "Failed000022200225154318222333334432",
   "message": "Transaction failed",   "data": {     "provider_response_codemeta": "91",{
    "provider": "Beeceptor",     "errors": null, }
   "error": null,    }
"provider_response": null   }
}
Info

Note that this service supports that the details object is null

...