Versions Compared

Key

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

...

Gliffy
imageAttachmentIdatt262012956
macroId13a2f148-7e83-472f-949a-bcafb47284a9
baseUrlhttps://onepipe.atlassian.net/wiki
macroId13a2f148-7e83-472f-949a-bcafb47284a9
nameOnePipe 2.0 - Hold funds
diagramAttachmentIdatt262012951
containerId261193756
timestamp1585256338273

Interface specification - (App → OnePipe)

Request

...

languagejson

...

Consent Request

This would perform a hold and return a token with app can execute a hold in future. Ideal use scenario is to hold a small amount (e.g. N1.00) to get a provider_token to use in future. All tokens will have expiry.

Request 1

Code Block
languagejson
{
  "request_ref":"{{request-ref}}", 
  "request_type":"hold_funds",
  "auth": {
    "type": "bank.account", 
    "secure": "encrypted(bank.account;bankcode)",
    "auth_provider": "Beeceptor",
    "route_mode":"provider | options | null"
  },
  "transaction": {
    "mock_mode": "live", 
    "transaction_ref": "{{transaction-ref}}", 
    "transaction_desc": "A random transaction", 
    "transaction_ref_parent": "", 
    "amount": 10000,
    "customer":{
    	"customer_ref": "{{customer id}}",
    	"firstname": "Uju",
  		"surname": "Usmanu",
    	"email": "ujuusmanu@gmail.com",
    	"mobile_no": "234802343132"
    },
    "meta":{
    	"a_key":"a_meta_value_1",
    	"another_key":"a_meta_value_2"
    },
    "details": null
  }
}

Response 1

Code Block
languagejson
{
  "status": "SuccessfulWaitingForOTP",
  "message": "Transaction processed successfullyPlease enter the OTP sent to 2348022****08",
  "data": {
    "provider_response_code": "00T0",
    "provider": "Beeceptor",
    "errors": null,
    "error": null,
    "provider_response": {
      "reference": "000022200225154318222333334432",
      "payment_idmeta": "136FTTP200590171",{}
    }
  }
}

Request 2

Code Block
languagejson
{
  "destinationrequest_institution_coderef":"{{request_ref}}", 
  "000016","request_type":"hold_funds",
	"auth": {
        "beneficiary_account_namesecure": "JOHN DOE JAMES","{{encrypted_otp}}",
        "auth_provider": "Beeceptor" 
    },
    "transaction": {
        "transaction_ref": "70713093460718"
    }
}

Response 2

Code Block
languagejson
{
    "status": "Successful",
    "message": "Transaction processed successfully",
    "data": {
        "provider_response_code": "00",
        "provider": "Beeceptor",
        "errors": null,
        "error": null,
        "provider_response": {
            "provider_token": "22333055555",
            "reference": "90988889999999988888",
            "token_expiry": "yyyy-MM-dd-hh-mm-ss",
            "hold_expiry": "yyyy-MM-dd-hh-mm-ss"
        }
    }
}

Place actual hold

Request

Code Block
languagejson
{
  "request_ref":"{{request-ref}}", 
  "request_type":"hold_funds",
  "auth": {
    "type": "provider_token", 
    "secure": "encrypted(provider_token)",
    "auth_provider": "Beeceptor",
    "route_mode":"provider | options | null"
  },
  "transaction": {
    "mock_mode": "live", 
    "transaction_ref": "{{transaction-ref}}", 
    "transaction_desc": "A random transaction", 
    "transaction_ref_parent": "", 
    "amount": 10000,
    "customer":{
    	"customer_ref": "{{customer id}}",
    	"firstname": "Uju",
  		"surname": "Usmanu",
    	"email": "ujuusmanu@gmail.com",
    	"mobile_no": "234802343132"
    },
    "meta":{
    	"a_key":"a_meta_value_1",
    	"another_key":"a_meta_value_2"
    },
    "details": null
  }
}

Response

Code Block
languagejson
{
    "status": "Successful",
    "message": "Transaction processed successfully",
    "data": {
        "beneficiaryprovider_accountresponse_numbercode": "305643322200",
        "beneficiary_kyc_levelprovider": "3Beeceptor",
        "originator_account_nameerrors": null,
"James Jane",       "originator_account_numbererror": null,
        "0001131256provider_response",: {
     "originator_kyc_level": "1",       "narrationreference": "My narration90988889999999988888",
            "transactionhold_final_amountexpiry": 1000 //amount in kobo "yyyy-MM-dd-hh-mm-ss"
        }
    }
}

Info

Note that this service supports that the details object is null

Acceptable values for auth.type

...