bixbyte/jambopay

本包最新版本(dev-composer)没有提供许可信息。

用于与JamboPay支付网关集成的SDK包。

dev-composer 2018-03-27 06:20 UTC

This package is not auto-updated.

Last update: 2024-09-20 03:18:10 UTC


README

这是与Jambopay API集成的非官方php集成模块

所有调用的方法都返回Promise,因此可以轻松地进行链式调用

安装

导航到您的项目目录,然后在CLI上运行

composer install bixbyte\jambopay

1. 入门

$GLOBALS["LOGIN_PARAMS"]  = [
    "username" => "YOUR_USERNAME", 
    "password" => "YOUR_PASSWORD",
    "app_key"  => "YOUR_JAMBOPAY_APP_KEY"
];

上述步骤设置了与包一起使用的访问凭证

2. 设置端点URL

( 使用192.168.11.22 [用于测试] 通过VPN时不需要 )

示例

$GLOBALS["JAMBOPAY"]      = "YOUR_JAMBOPAY_URL";

3. 启动()

示例:

include( __DIR__."/index.php" );

3. 声明依赖项(use jambopay

示例:

use jambopay;

HEADERS 参数

这应该基本上留空,但可以在需要时注入自定义头部

`$headers` in the various methods below.

这适用于所有接受 headers 参数的方法。

用户方法

1. 内罗毕郡议会支付(jambopay\ncc

实例化类

$ncc_ubp = new jambopay\ncc\UBP();

A). 通用商业许可(jambopay\ncc\UBP()

UBP 注册

可用方法

a). .get_sbp_classes({PhoneNumber,ActivityID},$headers)

此方法获取内罗毕郡政府分类的所有企业的业务类别。

响应中的 ActivityID(基本上是企业所属的类别/分类)将在 .get_sbp_sub_classes 调用中使用。

示例:

$ncc_ubp->get_sbp_classes([ 
    "PhoneNumber" => "...",
    "ActivityID"  => "..."
]);

b). __.get_sbp_sub_classes({PhoneNumber,ID},$headers)__

上述请求获取与活动ID相关的业务子类别。

响应中的 sub-ClassID 将在 .get_sbp_activity_charges 调用中使用。

示例:

$ncc_ubp->get_sbp_sub_classes([ 
    "PhoneNumber" => "...",
    "ID"          => "..."
]);   

c). __.get_sbp_activity_charges({PhoneNumber,subclassID},$headers)__

响应中的 ChargeID 参数可以在后续调用中用作过滤参数。

示例:

$ncc_ubp->get_sbp_activity_charges([ 
    "PhoneNumber" => "...",
    "subclassID"  => "..."
]);

d). .get_sbp_activity_sub_counties($headers)

此调用列出内罗毕郡内的所有次郡。客户选择此选项和后续调用,以便帮助确定其业务的大致位置。

示例:

$ncc_ubp->get_sbp_activity_sub_counties();

e). .get_sbp_wards({id},$headers)

此调用列出郡内给定次郡的所有地区。

示例:

$ncc_ubp->get_sbp_wards([ 
        "id" => "..."
]);

f). __.prepare_payment({Year,Names,PhoneNumber,PhonePin,IDNumber,ActivityCode,ActivityName,SBPSubClassID,RelativeSize,WardName,ZoneName,AcceptedTnC,WardCode,ZoneCode,BusinessName,Pin,IDDocumentNumber,BusinessClassificationDetails,PremisesArea,NumberOfEmployees,AnnualSBPAmount,PostalCode,Town,Telephone1,Telephone2,FaxNumber,Email,PhysicalAddress,PlotNumber,Building,BuildingCategory,Floor,RoomStallNumber,ContactPersonName,ContactPersonDesignation,ContactPersonPOBox,ContactPersonPostalCode,ContactPersonTown,ContactPersonTelephone1,ContactPersonTelephone2,PaidBy,ApprovalStatus,PaymentTypeID,SBPPaymentType }, headers)__

可接受参数

参数类型必需描述
BusinessID字符串-
Year整数R
TransactionID字符串-
Names字符串RIsaac Juma
BillNumber字符串-
BillStatus字符串-
PhoneNumber字符串R254724659560
PhonePin整数R1234
IDNumber字符串R1
ActivityCode整数R
ActivityName字符串RPainting
SBPSubClassID整数R1114
RelativeSize字符串R1
WardName字符串R
ZoneName字符串R
AcceptedTnC布尔值R1
WardCode整数R4
ZoneCode整数R136
BusinessName字符串RDcyntech
BusinessRegistrationNumber字符串-
Pin字符串RJJITYTU767868
VAT字符串-JHJH2323
IDDocumentNumber字符串R28734420
BusinessClassificationDetails字符串R1212
OtherBusinessClassificationDetails字符串-2121
PremisesArea字符串R121
NumberOfEmployees整数R121212
AnnualSBPAmount双精度浮点数-0
POBox字符串R8782 Nairobi
PostalCode字符串R00100
Town字符串RNairobi
Telephone1字符串R254717803383
Telephone2字符串R254717803383
FaxNumber字符串-0717803383
Email字符串Rijuma@webtribe.com
PhysicalAddress字符串Rdsfsdfsd
PlotNumber字符串R343ffdf
Building字符串R34634
BuildingCategory字符串R非楼层
楼层字符串Rn\/a
RoomStallNumber字符串R12
联系人姓名字符串RSimiyu Robert
联系人职务字符串R
联系人邮政信箱字符串R281 Soy
联系人邮政编码字符串R30105
联系人城镇字符串R
联系人电话1字符串R0717803383
联系人电话2字符串R0717803383
联系人传真号码字符串-3434
付款方字符串RSAMUEL KAHARA
审批状态整数-0
付款类型ID整数R1
SBPPaymentType整数R1
收据号码字符串-
本地收据号码字符串-
参考号码字符串-
银行名称字符串-
分行名称字符串-
Exclusions[0].ID字符串-排除在付款外的ChargeID
Exclusions[1].ID字符串-从付款中排除的ChargeID

响应中的 transactionID 用于在 .commit_payment 调用中提交交易。

示例:

$ncc_ubp->prepare_payment([
    "Year"            => "...",
    "Names"           => "...",
    "PhoneNumber"     => "...",
    "PhonePin"        => "...",
    "IDNumber"        => "...",
    "ActivityCode"    => "...",
    "ActivityName"    => "...",
    "SBPSubClassID"   => "...",
    "RelativeSize"    => "...",
    "WardName"        => "...",
    "ZoneName"        => "...",
    "AcceptedTnC"     => "...",WardCode,"ZoneCode,BusinessName"   => "...",
    "Pin"             => "...",
    "IDDocumentNumber"    => "...",
    "BusinessClassificationDetails"   => "...",
    "PremisesArea"    => "...",
    "NumberOfEmployees"   => "...",
    "AnnualSBPAmount" => "...",
    "PostalCode"      => "...",
    "Town"            => "...",
    "Telephone1"      => "...",
    "Telephone2"      => "...",
    "FaxNumber"       => "...",
    "Email"           => "...",
    "PhysicalAddress" => "...",
    "PlotNumber"      => "...",
    "Building"        => "...",
    "BuildingCategory"    => "...",
    "Floor"           => "...",
    "RoomStallNumber" => "...",
    "ContactPersonName"   => "...",
    "ContactPersonDesignation"    => "...",
    "ContactPersonPOBox"  => "...",
    "ContactPersonPostalCode" => "...",
    "ContactPersonTown"   => "...",
    "ContactPersonTelephone1" => "...",
    "ContactPersonTelephone2" => "...",
    "PaidBy"          => "...",
    "ApprovalStatus"  => "...",
    "PaymentTypeID"   => "...",
    "SBPPaymentType"  => "..."
]);

g). __.commit_payment({PhoneNumber,SBPPaymentType,Tendered,TransactionID,PaymentTypeID,PaidBy,PhonePin},$headers)__

参数类型必需描述
商户ID字符串R商户标识符,例如NCC
PhoneNumber字符串R代理电话号码
SBPPaymentType整数R1
已支付的金额双精度浮点数RSBP总账单的确认金额
TransactionID字符串RPOST响应中的唯一ID。
付款类型ID整数R1
付款方字符串R注册付费的人
PhonePin字符串R被扣除钱包的PIN码

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$ncc_ubp->commit_payment([
    "PhoneNumber"     => "...",
    "SBPPaymentType"  => "...",
    "Tendered"        => "...",
    "TransactionID"   => "...",
    "PaymentTypeID"   => "...",
    "PaidBy"          => "...",
    "PhonePin"        => "..."
]);

UBP更新

可用方法

a). __.get_business( {LicenseID,Year,PhoneNumber}, headers )__

此调用获取使用 LicenseIDBusinessID)注册的企业的详细信息。

响应中提供的 ActivityID 将用于后续调用。

示例:

$ncc_ubp->get_business([
        "LicenseID"       => "...",
        "Year"            => "...",
        "PhoneNumber"     => "..."
]);

b). __.get_business_class_id( {ActivityID,PhoneNumber} ,headers )__

获取与 ActivityID 相关的业务类别。

响应中的 ClassID 将用于后续调用。

示例:

$ncc_ubp->get_business_class_id([
    "ActivityID"      => "...",
    "PhoneNumber"     => "..."
]);

c). .get_business_sub_class_id({ID,PhoneNumber},$headers)

返回的 SubClassID 用于 .prepare_payment 调用。

示例:

$ncc_ubp->get_business_sub_class_id([
    "ID"             => "...",
    "PhoneNumber"     => "..."
]);

d). __.prepare_payment({MerchantID,BusinessID,Year,PhoneNumber,PaymentTypeID,SBPSubClassID},$headers)__

可接受参数

参数类型必需描述
商户ID字符串R商户标识符
BusinessID字符串R许可ID
Year整数R2017
PhoneNumber字符串R钱包电话号码
付款类型ID整数R1
SBPSubClassID整数R来自 getsbpsubclasses 调用的ID

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$ncc_ubp->prepare_payment([
    "MerchantID"          => "...",
    "BusinessID"          => "...",
    "Year"                => "...",
    "PhoneNumber"         => "...",
    "PaymentTypeID"       => "...",
    "SBPSubClassID"       => "..."
]);

e). __.commit_payment({PhoneNumber,MerchantID,TransactionID,Pin,Year,AcceptedTnC,ContactPersonName,IDDocumentNumber,Telephone1,ZoneCode,WardCode,ZoneName,WardName,PlotNumber},$headers)__

可接受参数

参数类型必需描述
PhoneNumber字符串R钱包电话号码
商户ID字符串R商户标识符
TransactionID字符串RPOST响应中的唯一ID
Pin字符串R钱包PIN
Year整数R商业许可更新年份
AcceptedTnC布尔值R接受条款和条件,例如True
联系人姓名字符串R联系人
IDDocumentNumber字符串R身份证号码
Telephone1字符串RTelephone1
Building字符串-
楼层字符串-楼层
RoomStallNumber字符串-房间摊位号码
ZoneCode整数R商业位置区域代码
WardCode整数R商业位置分区代码
ZoneName字符串R商业位置区域名称
WardName字符串R商业位置分区名称
PlotNumber字符串R商业位置地块号码

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$ncc_ubp->commit_payment([
    "PhoneNumber"         => "...",
    "MerchantID"          => "...",
    "TransactionID"       => "...",
    "Pin"                 => "...",
    "Year"                => "...",
    "AcceptedTnC"         => "...",
    "ContactPersonName"   => "...",
    "IDDocumentNumber"    => "...",
    "Telephone1"          => "...",
    "ZoneCode"            => "...",
    "WardCode"            => "...",
    "ZoneName"            => "...",
    "WardName"            => "...",
    "PlotNumber"          => "..."
]);

B). LAND RATES (jambopay\ncc\LandRates())

实例化类

$ncc_land_rates = new jambopay\ncc\LandRates();
可用方法

a). __.prepare_payment({PlotNumber,PhoneNumber,PaymentTypeID},$headers)__

可接受参数

参数类型必需描述
商户ID字符串R商户标识符
PlotNumber字符串R地块号码
PhoneNumber字符串R客户电话号码
付款类型ID整数R支付方式,例如1为现金等

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$ncc_land_rates->prepare_payment([
    "PlotNumber"      => "...",
    "PhoneNumber"     => "...",
    "PaymentTypeID"   => "..."
]);

b). __.commit_payment({TransactionID,Amount},$headers)__

可接受参数

参数类型必需描述
商户ID字符串R商户标识符
TransactionID字符串R唯一的交易参考号码
金额十进制R交易金额

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$ncc_land_rates->commit_payment([
        "TransactionID"   => "...",
        "Amount"          => "..."
]);

C). PARKING (jambopay\ncc\Parking())

实例化类

$ncc_parking = new jambopay\ncc\Parking();

DAILY PARKING

可用方法

a). __.get_daily_parking_items ( headers )__

此调用提取所需信息以确定应支付的金额,即车辆类型和区域。

示例:

$ncc_parking->get_daily_parking_items();

b). __.prepare_payment({MerchantID,IsDaily,PlateNumber,PaymentTypeID,PhoneNumber,ZoneCodeID,ChargeID},$headers)__

可接受参数

参数类型必需描述
商户ID字符串R商户标识符
IsDailyboolR停车是否为每日,例如1或0;true或false
PlateNumberstringR汽车注册号码,例如KDF888W
付款类型ID整数R支付方式,例如1
PhoneNumberstringR客户电话号码
ZoneCodeID整数R描述停车区域的唯一ID,例如10
ChargeID整数R描述停车费用的唯一ID,例如10
DurationID整数O描述停车时间的唯一ID

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$ncc_parking->prepare_payment([
    "MerchantID"      => "...",
    "IsDaily"         => "...",
    "PlateNumber"     => "...",
    "PaymentTypeID"   => "...",
    "PhoneNumber"     => "...",
    "ZoneCodeID"      => "...",
    "ChargeID"        => "..."
]);

c). __.commit_payment({TransactionID,Amount},$headers)__

可接受参数

参数类型必需描述
商户ID字符串R商户标识符
TransactionID字符串R交易ID
PhoneNumber字符串R客户电话号码
付款方字符串R客户姓名
金额十进制R停车支付金额

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$ncc_parking->commit_payment([
    "TransactionID"   => "...",
    "Amount"          => "..."
]);

季节性停车

可用方法

a). __.get_seasonal_parking_items ( headers )__

此操作获取初始化数据(费用和收费)以确定应支付的金额。包括:车辆类型和停车时长。

示例:

$ncc_parking->get_seasonal_parking_items([
    "authorization"    => JAMBOPAY_TOKEN, 
    "app_key"          => "..."
]);

b). __.prepare_payment({MerchantID,IsDaily, PlateNumber,PaymentTypeID,PhoneNumber,ZoneCodeID,ChargeID,DurationID},$headers)__

可接受参数

参数类型必需描述
商户ID字符串R商户标识符
IsDaily布尔值R停车是否为每日
PlateNumber字符串R车牌号码
付款类型ID整数R支付方式
PhoneNumberstringR客户电话号码
ZoneCodeID整数R描述停车区域的唯一ID
ChargeID整数R描述停车费用的唯一ID
DurationID整数R描述停车时间的唯一ID

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$ncc_parking->prepare_payment([
    "MerchantID"      => "...",
    "IsDaily"         => "...",
    "PlateNumber"     => "...",
    "PaymentTypeID"   => "...",
    "PhoneNumber"     => "...",
    "ZoneCodeID"      => "...",
    "ChargeID"        => "...",
    "DurationID"      => "..."
]);

c). __.commit_payment({MerchantID,TransactionID},$headers)__

可接受参数

参数类型必需描述
商户ID字符串R商户标识符
TransactionID字符串R交易ID
> 响应参数将包含一个有效的 ReceiptNumber,表示
交易已成功提交并完成。

示例:

$ncc_parking->commit_payment([
    "TransactionID"   => "...",
    "MerchantID"      => "..."
]);

D). 合作社停车 (jambopay\ncc\SaccoParking())

实例化类

$ncc_sacco_parking = new jambopay\ncc\SaccoParking();
可用方法

a). __.get_sacco_parking_items ( headers )__

此调用提取所需信息以确定应支付的金额。包括车辆类型和时长类型。

示例:

$ncc_sacco_parking->get_sacco_parking_items([
    "authorization" => JAMBOPAY_TOKEN, 
    "app_key"       => "..."
]);

b). __.prepare_payment({SaccoName,Vehicles: [{VehicleType,Duration,RegistrationNumber}],PaymentTypeID},$headers)__

可接受参数

参数必需类型描述
合作社名称R字符串合作社的名称
车辆数组字段
车辆类型Rint
时长Rint
登记号码Rstring
付款类型IDRint支付方式,例如 1 - 现金

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$params = [       
            "SaccoName"  =>  "..." , 
            "Vehicles" =>  [
                "vehicleType"       => "...",
                "Duration"          => "...",
                "RegistrationNumber" => "..."
            ], 
            "PaymentTypeID"    => "..." 
];

$ncc_sacco_parking->prepare_payment($params);

c). __.commit_payment({},$headers)__

可接受参数

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

参数类型必需描述
TransactionID字符串R 交易ID

示例:

$params = [       
            "TransactionID"   => "..." 
        ];

$ncc_sacco_parking->commit_payment($params);

D). 房屋租赁 (.house_rent)

实例化类

$ncc_house_rent = new jambopay\ncc\HouseRent();
可用方法

a). __.get_estates ( headers )__

此调用获取属于内罗毕县的所有房屋和市场地区的列表。

示例:

$ncc_house_rent->get_estates();

b). __.get_residences ( { ID }, headers ))__

此调用使用地区ID获取地区内的住宅列表。

示例:

$ncc_house_rent->get_residences([
    "ID"          => "..."
]);

c). __.prepare_payment({TransactionID,Names,Amount,Adjustment,Currentbalance,CustomerNames,LastBillMonth,MonthlyOtherCharges,MonthlyRent,OtherArrears,PhysicalAddress,RentArrears},$headers)__

可接受参数

输出类型描述
TransactionIDstring唯一的交易参考号码
Namesstring租户姓名
金额十进制应付款项
调整十进制支付中产生的任何调整
当前余额十进制当前余额
客户姓名string客户姓名
最后账单月份DateTime上个月账单付款日期
每月其他费用十进制其他月度费用
每月租金十进制每月租金
其他欠款十进制其他欠款
PhysicalAddress十进制物理地址
租金欠款十进制租金欠款
租金到期日DateTime租金到期日
UHNstring唯一的房屋号码

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$ncc_house_rent->prepare_payment([
    "TransactionID"   => "...",
    "Names"           => "...",
    "Amount"          => "...",
    "Adjustment"      => "...",
    "Currentbalance"  => "...",
    "CustomerNames"   => "...",
    "LastBillMonth"   => "...",
    "MonthlyOtherCharges"     => "...",
    "MonthlyRent"     => "...",
    "OtherArrears"    => "...",
    "PhysicalAddress" => "...",
    "RentArrears"     => "...",
]);

d). __.commit_payment({TransactionID,Amount},$headers)__

可接受参数

参数类型必需描述
TransactionID字符串R唯一的交易参考号码
金额十进制R应付款项
> 响应参数将包含一个有效的 ReceiptNumber,表示
交易已成功提交并完成。

示例:

$ncc_house_rent->commit_payment([
    "TransactionID"   => "...",
    "Amount"          => "..."
]);

D). 电子建筑 (jambopay\ncc\EConstruction())

实例化类

$ncc_e_construction = new jambopay\ncc\EConstruction();
可用方法

a). __.prepare_payment({InvoiceNumber,PaymentTypeID,PhoneNumber,PaidBy},$headers)__

可接受参数

参数类型必需描述
发票号码stringR发票号码
付款类型IDintR支付方式
PhoneNumberstringR客户的电话号码
付款方stringR客户名称
> 响应中的 transactionID 用于 .commit_payment 调用。

示例:

$ncc_e_construction->prepare_payment([
    "InvoiceNumber" => "...",
    "PaymentTypeID" => "..."
]);

b). __.commit_payment({TransactionID,PhoneNumber},$headers)__

可接受参数

参数类型必需描述
TransactionIDstringR唯一的交易参考号码
PhoneNumberstringR用户电话号码

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$ncc_e_construction->commit_payment([
    "TransactionID"   => "...",
    "PhoneNumber"      => "..."
]);

E). 酒类 (jambopay\ncc\Liquor())

可用方法

实例化类

$ncc_liquor = new jambopay\ncc\Liquor();

a). __.prepare_payment({ Date,LicenseNumber,PhoneNumber,PaymentTypeID},$headers)__

可接受参数

参数类型必需描述
日期DateTimeR日期
许可证号码字符串R许可证号码
PhoneNumber字符串R客户
付款类型IDint?R支付方式

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$ncc_liquor->prepare_payment([
    "Date"            => "...",
    "LicenseNumber"   => "...",
    "PhoneNumber"     => "...",
    "PaymentTypeID"   => "..."
]);

b). __.commit_payment({TransactionID},$headers)__

可接受参数

参数类型必需描述
TransactionID字符串R唯一的交易参考号码

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$ncc_liquor->commit_payment([
    "TransactionID"   => "..."
]);

E). 杂项 (jambopay\ncc\Miscellaneous())

可用方法

实例化类

$ncc_misc = new jambopay\ncc\Miscellaneous();

a). __.prepare_payment({PhoneNumber,BillNumber,PaymentTypeID},$headers)__

可接受参数

参数类型必需描述
PhoneNumberstringR客户电话号码
BillNumberstringR从县获得的唯一账单参考号码
付款类型IDintR支付方式

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$ncc_misc->prepare_payment([
    "PhoneNumber"     => "...",
    "BillNumber"      => "...",
    "PaymentTypeID"   => "..."
]);

b). __.commit_payment({TransactionID},$headers)__

可接受参数

参数类型必需描述
TransactionID字符串R唯一的交易参考号码

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$ncc_misc->commit_payment([
    "TransactionID"   => "..."
]);

2. 内罗毕水务支付 (jambopay\NairobiWater())

实例化类

$nairobi_water = new jambopay\NairobiWater();

a). __.get_bill({AccountNumber},$headers)__

此调用提取适用于内罗毕水务的费用。

示例:

$nairobi_water->get_bill([
    "AccountNumber"   => "..."
]);

b). __.prepare_payment({AccountNumber,PhoneNumber,Names,Amount,PaymentTypeID},$headers)__

可接受参数

参数类型必需描述
AccountNumber字符串R内罗毕水务客户账户号码
PhoneNumber字符串R用户电话号码
Names字符串R客户账户名称
金额十进制R交易金额
付款类型IDint?R支付方式

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$nairobi_water->prepare_payment([
    "AccountNumber"   => "...",
    "PhoneNumber"     => "...",
    "Names"           => "...",
    "Amount"          => "...",
    "PaymentTypeID"   => "..."
]);

c). __.commit_payment({TransactionID},$headers)__

可接受参数

参数类型必需描述
TransactionID字符串R唯一的交易参考号码

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$nairobi_water->commit_payment([
    "TransactionID"   => "..."
]);

3. 国家医院保险基金支付 (jambopay\NHIF())

实例化类

$nhif = new jambopay\NHIF();

a). __.prepare_payment({AccountNumber,IsCorporate,PhoneNumber,Amount,PaymentTypeID},$headers)__

可接受参数

参数类型必需描述
AccountNumber字符串R在NHIF的客户账户号,即会员号
IsCorporate布尔值R无论是企业交易还是个人交易,使用False
PhoneNumber字符串R客户电话号码
罚款十进制O应支付的罚款金额。
金额十进制R交易金额。
付款类型ID整数R支付方式,例如1为现金等

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$nhif->prepare_payment([
    "AccountNumber"   => "...",
    "IsCorporate"     => "...",
    "PhoneNumber"     => "...",
    "Amount"          => "...",
    "PaymentTypeID"   => "..."
]);

b). __.commit_payment({TransactionID,PhoneNumber,Amount},$headers)__

可接受参数

参数类型必需描述
TransactionID字符串R唯一的交易参考号码
PhoneNumber字符串R客户电话号码
金额十进制R交易金额

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$nhif->commit_payment([
    "TransactionID"   => "...",
    "PhoneNumber"     => "...",
    "Amount"          => "..."
]);

4. KASNEB 支付 (jambopay\Kasneb())

实例化类

$kasneb = new jambopay\Kasneb();

a). __.prepare_payment({PhoneNumber,BillNumber,PaidBy,PaymentTypeID},$headers)__

可接受参数

参数描述
PhoneNumber支付的个人电话号码
BillNumber要支付的账单号码或发票号码
付款方支付个人的姓名
付款类型ID支付的付款类型。对于所有代理商,我们要求默认为1,代表现金交易

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$kasneb->prepare_payment([
    "PhoneNumber"     => "...",
    "BillNumber"      => "...",
    "PaidBy"          => "...",
    "PaymentTypeID"   => "..."
]);

b). __.commit_payment({PhoneNumber,TransactionID,ExaminationCenterID,Tendered},$headers)__

可接受参数

参数描述
PhoneNumber支付的个人电话号码
TransactionID这是要处理的付款的唯一标识符。此值来自具有相同名称的先前输出
ExaminationCenterID可空参数。仅适用于已应用考试中心的付款。
已支付的金额这是表示客户给出的总金额的可选参数。它可以是与“金额”字段相同或更多的金额,可用于计算应退还给客户的零钱

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$kasneb->commit_payment([
    "TransactionID"       => "...",
    "PhoneNumber"         => "...",
    "Tendered"            => "...",
    "ExaminationCenterID" => "..."
]);

5. JAMBOPAY WALLET 支付 (jambopay\Wallet())

实例化类

$wallet = new jambopay\Wallet();

a). __.prepare_payment({PhoneNumber,Amount,PaymentTypeID},$headers)__

可接受参数

参数类型必需描述
PhoneNumberstringR用户电话号码
金额十进制R交易金额
付款类型ID整数R付款方式。例如,1代表现金,2代表支票等

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$wallet->prepare_payment([
    "PhoneNumber"   => "...",
    "Amount"        => "...",
    "PaymentTypeID" => "..."
]);

b). __.commit_payment({TransactionID,PhoneNumber},$headers)__

可接受参数

参数类型必需描述
TransactionID字符串R唯一的交易参考号码
PhoneNumber字符串R用户电话号码

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$wallet->commit_payment([
    "TransactionID"   => "...",
    "PhoneNumber"     => "..."
]);

6. __JAMBOPAY 支付报告 (jambopay\Reports(reporting_stream [ e.g. parking, saccoparking, rent,nhif,ubp]))__

>>> 初始化查询对象

e.g

对于停车

$parking_report = new jambopay\Reports("parking");

a). __.get_transactions({},$headers)__

可接受参数

参数类型必需描述
PlateNumberstringO业务ID
索引intO要返回的交易页面的基于零的索引-每页有30笔交易
TransactionIDstringO唯一的交易参考号码
StartDate日期O要获取交易的最小日期
EndDate日期O要获取交易的最新日期
UserIDstringO唯一用户ID
TransactionStatusbyteO交易状态(准备中-0或完成-1)

示例用法 (针对ncc停车)

$parking_report->get_transactions( );

7. 肯尼亚电力和照明公司(KENYA POWER & LIGHTING Co.) 支付 (jambopay\KPLC())

实例化类

$kplc = new jambopay\KPLC();

a). __.prepare_payment({PhoneNumber,Amount,PaymentTypeID,MeterNumber,MerchantID},$headers)__

可接受参数

参数类型必需描述
PhoneNumberstringR用户电话号码
金额十进制R交易金额
付款类型ID整数R付款方式。例如,1代表现金,2代表支票等
MeterNumber整数R客户的电表号码
商户ID整数R'KPLC'在这种情况下

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$kplc->prepare_payment([
    "PhoneNumber"   => "...",
    "Amount"        => "...",
    "PaymentTypeID" => "...",
    "MeterNumber"   => "...",
    "MerchantID"    => "KPLC"
]);

b). __.commit_payment({TransactionID,PhoneNumber,Tendered,Pin},$headers)__

可接受参数

参数类型必需描述
TransactionID字符串R唯一的交易参考号码
PhoneNumber字符串R用户电话号码
已支付的金额整数R客户给出的金额
Pin字符串R发起者的访问密码/PIN

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$kplc->commit_payment([
    "TransactionID"   => "...",
    "PhoneNumber"     => "...",
    "Tendered"        => "...",
    "Pin"             => "..."
]);

8. 非街停车支付( jambopay\OffStreetParking(bool liveServer = false))

此端点在使用之前需要初始化。这样做的主要目的是指定是否使用实时端点。

要初始化端点,请使用

$offstreet_parking = new jambopay\OffStreetParking(`use_live_server`);

或者

$offstreet_parking = new jambopay\OffStreetParking(true);

或者

$offstreet_parking = new jambopay\OffStreetParking(false);

a). __.validate_attendant({PhoneNumber},$headers)__

此方法通过电话号码帮助检查工作人员的有效性

示例

$offstreet_parking->validate_attendant([
    PhoneNumber => "..."
]);

b). __.book_vehicle({PlateNumber,attPhoneNumber},$headers)__

此方法通过车牌号码帮助将车辆登记到系统中

示例

$offstreet_parking->book_vehicle([
    "PlateNumber"     => "...",
    "attPhoneNumber"  => "..."
]);

9. STARTIMES 支付(jambopay\Startimes())

实例化类

**$startimes = new jambopay\Startimes();**

a). __.prepare_payment({PhoneNumber,Amount,PaymentTypeID,SmartCardCode,CustomerCode},$headers)__

可接受参数

参数类型必需描述
PhoneNumberstringR用户电话号码
金额十进制R交易金额
付款类型ID整数R付款方式。例如,1代表现金,2代表支票等
SmartCardCode整数R客户的智能卡号码
CustomerCode整数R指定的客户代码

响应中的 transactionID 用于 .commit_payment 调用。

示例:

$startimes->prepare_payment([
    "PhoneNumber"   => "...",
    "Amount"        => "...",
    "PaymentTypeID" => "...",
    "SmartcardCode" => "...",
    "CustomerCode"  => "..."
]);

b). __.commit_payment({TransactionID,PhoneNumber,Tendered},$headers)__

可接受参数

参数类型必需描述
TransactionID字符串R唯一的交易参考号码
PhoneNumber字符串R用户电话号码
已支付的金额整数R客户给出的金额

响应参数将包含一个有效的 ReceiptNumber,表示交易已成功提交并完成。

示例:

$startimes->commit_payment([
    "TransactionID"   => "...",
    "PhoneNumber"     => "...",
    "Tendered"        => "..."
]);

全局方法

实例化类

$global = new jambopay\JambopayGeneric('stream');

__$global->prepare_payment({},$headers)__

__$global->commit_payment({},$headers)__

上述方法可以针对任何支付渠道( offstreetparking )直接调用,只要传递相关的支付

以下是相关支付流表

目标
E-Constructioneconstruction
House Rentrent
Jambopay Walletwallet
KASNEBkasneb
基苏穆供水与污水kiwasco
肯尼亚电力与照明kplc
土地税landrate
酒类liquor
杂项misc
内罗毕供水nairobiwater
NHIFnhif
NCC - 马路外停车场offstreetparking
停车场parking
合作社停车场saccoparking
统一商业许可证sbp

以下是适用商户ID的表格

目标商户ID
内罗毕县NCC
特南索尼亚县TNC
一个示例sacco_parking prepare_payment请求
$params = [   
        "Stream"      =>"saccoparking"
        "SaccoName"   => "" , 
        "Vehicles"    => [ 
                "vehicleType"        => "",
                "Duration"           => "",
                "RegistrationNumber" => ""
            ] 
        ], 
        "PaymentTypeID" => ""            
    ];
$JamboPay_saccoparking = new jambopay\JambopayGeneric('saccoparking');    
$JamboPayWildCard->prepare_payment($params);

或者

$JamboPayWildCard_any = new jambopay\JambopayGeneric();
$JamboPayWildCard_any->prepare_payment($params);

在使用后者时,确保你在传递给方法的参数对象中定义了“Stream”,而不是传递给构造函数。