...
Info |
---|
Before you proceed: Please read this. |
Commercial model
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'sHost clients will simply charge a fee to the calling app, and share it with the provider, OnePipe and ISO.
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 modelsThis service can only support one mode.
Model | How it works | AmountThe provider removes a percentage or flat fee from the amount as fee and settles the difference to the app owner (via the client). | |
---|---|---|---|
Commission | The provider surcharges the payer with an extra fee and pays a share of that surcharge to the app owner, OnePipe and Client | ||
Invoice | The client will invoice the calling app periodically for all calls to the endpoint. |
Process flows
Sequence of calls
Getting consent
App calls
/transact
with the
relevant auth details
Provider responds with
WaitingForOTP
orPendingValidation
as may be requiredApp calls
/transact/validate
to supply OTP
Provider responds with any of the completion codes
Successful
orFailed
.
To query the status of a transaction, the app can call
/transact/query
Where the provider supports it, the app can call
/transact/reverse
to request a reversalTo receive available options for this service, apps can call
/transact/options
.
Gliffy | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
If successful, provider also has to respond with a
provider_token
Placing a hold
App calls
/transact
withauth.type
set toprovider_token
and passing a prior received token.Provider responds with any of the completion codes
Successful
orFailed
.
Gliffy | ||
---|---|---|
|
Interface specification - (App → OnePipe)
...
Code Block | ||
---|---|---|
| ||
{ "request_ref":"{{request-ref}}", "request_type":"collecthold_funds", "auth": { "type": "bank.account", "secure": "4if1oYEoHx5Kp+PZj6RibJlXbx8zIKkPencrypted(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 } } |
...