bixbyte/jambopay
用于与JamboPay支付网关集成的SDK包。
Requires
- php: ^5.3.3 || ^7.1
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 | 字符串 | R | Isaac Juma |
| BillNumber | 字符串 | - | |
| BillStatus | 字符串 | - | |
| PhoneNumber | 字符串 | R | 254724659560 |
| PhonePin | 整数 | R | 1234 |
| IDNumber | 字符串 | R | 1 |
| ActivityCode | 整数 | R | |
| ActivityName | 字符串 | R | Painting |
| SBPSubClassID | 整数 | R | 1114 |
| RelativeSize | 字符串 | R | 1 |
| WardName | 字符串 | R | |
| ZoneName | 字符串 | R | |
| AcceptedTnC | 布尔值 | R | 1 |
| WardCode | 整数 | R | 4 |
| ZoneCode | 整数 | R | 136 |
| BusinessName | 字符串 | R | Dcyntech |
| BusinessRegistrationNumber | 字符串 | - | |
| Pin | 字符串 | R | JJITYTU767868 |
| VAT | 字符串 | - | JHJH2323 |
| IDDocumentNumber | 字符串 | R | 28734420 |
| BusinessClassificationDetails | 字符串 | R | 1212 |
| OtherBusinessClassificationDetails | 字符串 | - | 2121 |
| PremisesArea | 字符串 | R | 121 |
| NumberOfEmployees | 整数 | R | 121212 |
| AnnualSBPAmount | 双精度浮点数 | - | 0 |
| POBox | 字符串 | R | 8782 Nairobi |
| PostalCode | 字符串 | R | 00100 |
| Town | 字符串 | R | Nairobi |
| Telephone1 | 字符串 | R | 254717803383 |
| Telephone2 | 字符串 | R | 254717803383 |
| FaxNumber | 字符串 | - | 0717803383 |
| 字符串 | R | ijuma@webtribe.com | |
| PhysicalAddress | 字符串 | R | dsfsdfsd |
| PlotNumber | 字符串 | R | 343ffdf |
| Building | 字符串 | R | 34634 |
| BuildingCategory | 字符串 | R | 非楼层 |
| 楼层 | 字符串 | R | n\/a |
| RoomStallNumber | 字符串 | R | 12 |
| 联系人姓名 | 字符串 | R | Simiyu Robert |
| 联系人职务 | 字符串 | R | |
| 联系人邮政信箱 | 字符串 | R | 281 Soy |
| 联系人邮政编码 | 字符串 | R | 30105 |
| 联系人城镇 | 字符串 | R | |
| 联系人电话1 | 字符串 | R | 0717803383 |
| 联系人电话2 | 字符串 | R | 0717803383 |
| 联系人传真号码 | 字符串 | - | 3434 |
| 付款方 | 字符串 | R | SAMUEL KAHARA |
| 审批状态 | 整数 | - | 0 |
| 付款类型ID | 整数 | R | 1 |
| SBPPaymentType | 整数 | R | 1 |
| 收据号码 | 字符串 | - | |
| 本地收据号码 | 字符串 | - | |
| 参考号码 | 字符串 | - | |
| 银行名称 | 字符串 | - | |
| 分行名称 | 字符串 | - | |
| 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 | 整数 | R | 1 |
| 已支付的金额 | 双精度浮点数 | R | SBP总账单的确认金额 |
| TransactionID | 字符串 | R | POST响应中的唯一ID。 |
| 付款类型ID | 整数 | R | 1 |
| 付款方 | 字符串 | R | 注册付费的人 |
| PhonePin | 字符串 | R | 被扣除钱包的PIN码 |
响应参数将包含一个有效的
ReceiptNumber,表示交易已成功提交并完成。
示例:
$ncc_ubp->commit_payment([
"PhoneNumber" => "...",
"SBPPaymentType" => "...",
"Tendered" => "...",
"TransactionID" => "...",
"PaymentTypeID" => "...",
"PaidBy" => "...",
"PhonePin" => "..."
]);
UBP更新
可用方法
a). __.get_business( {LicenseID,Year,PhoneNumber}, headers )__
此调用获取使用
LicenseID(BusinessID)注册的企业的详细信息。
响应中提供的
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 | 整数 | R | 2017 |
| PhoneNumber | 字符串 | R | 钱包电话号码 |
| 付款类型ID | 整数 | R | 1 |
| 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 | 字符串 | R | POST响应中的唯一ID |
| Pin | 字符串 | R | 钱包PIN |
| Year | 整数 | R | 商业许可更新年份 |
| AcceptedTnC | 布尔值 | R | 接受条款和条件,例如True |
| 联系人姓名 | 字符串 | R | 联系人 |
| IDDocumentNumber | 字符串 | R | 身份证号码 |
| Telephone1 | 字符串 | R | Telephone1 |
| 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 | 商户标识符 |
| IsDaily | bool | R | 停车是否为每日,例如1或0;true或false |
| PlateNumber | string | R | 汽车注册号码,例如KDF888W |
| 付款类型ID | 整数 | R | 支付方式,例如1 |
| PhoneNumber | string | R | 客户电话号码 |
| 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 | 支付方式 |
| PhoneNumber | string | R | 客户电话号码 |
| 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 | 字符串 | 合作社的名称 |
| 车辆 | 数组字段 | ||
| 车辆类型 | R | int | |
| 时长 | R | int | |
| 登记号码 | R | string | |
| 付款类型ID | R | int | 支付方式,例如 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)__
可接受参数
| 输出 | 类型 | 描述 |
|---|---|---|
| TransactionID | string | 唯一的交易参考号码 |
| Names | string | 租户姓名 |
| 金额 | 十进制 | 应付款项 |
| 调整 | 十进制 | 支付中产生的任何调整 |
| 当前余额 | 十进制 | 当前余额 |
| 客户姓名 | string | 客户姓名 |
| 最后账单月份 | DateTime | 上个月账单付款日期 |
| 每月其他费用 | 十进制 | 其他月度费用 |
| 每月租金 | 十进制 | 每月租金 |
| 其他欠款 | 十进制 | 其他欠款 |
| PhysicalAddress | 十进制 | 物理地址 |
| 租金欠款 | 十进制 | 租金欠款 |
| 租金到期日 | DateTime | 租金到期日 |
| UHN | string | 唯一的房屋号码 |
响应中的
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)__
可接受参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| 发票号码 | string | R | 发票号码 |
| 付款类型ID | int | R | 支付方式 |
| PhoneNumber | string | R | 客户的电话号码 |
| 付款方 | string | R | 客户名称 |
> 响应中的 transactionID 用于 .commit_payment 调用。 |
示例:
$ncc_e_construction->prepare_payment([
"InvoiceNumber" => "...",
"PaymentTypeID" => "..."
]);
b). __.commit_payment({TransactionID,PhoneNumber},$headers)__
可接受参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| TransactionID | string | R | 唯一的交易参考号码 |
| PhoneNumber | string | R | 用户电话号码 |
响应参数将包含一个有效的
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)__
可接受参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| 日期 | DateTime | R | 日期 |
| 许可证号码 | 字符串 | R | 许可证号码 |
| PhoneNumber | 字符串 | R | 客户 |
| 付款类型ID | int? | 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)__
可接受参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| PhoneNumber | string | R | 客户电话号码 |
| BillNumber | string | R | 从县获得的唯一账单参考号码 |
| 付款类型ID | int | R | 支付方式 |
响应中的
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 | 交易金额 |
| 付款类型ID | int? | 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)__
可接受参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| PhoneNumber | string | R | 用户电话号码 |
| 金额 | 十进制 | 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)__
可接受参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| PlateNumber | string | O | 业务ID |
| 索引 | int | O | 要返回的交易页面的基于零的索引-每页有30笔交易 |
| TransactionID | string | O | 唯一的交易参考号码 |
| StartDate | 日期 | O | 要获取交易的最小日期 |
| EndDate | 日期 | O | 要获取交易的最新日期 |
| UserID | string | O | 唯一用户ID |
| TransactionStatus | byte | O | 交易状态(准备中-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)__
可接受参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| PhoneNumber | string | R | 用户电话号码 |
| 金额 | 十进制 | 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)__
可接受参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| PhoneNumber | string | R | 用户电话号码 |
| 金额 | 十进制 | 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-Construction | econstruction |
| House Rent | rent |
| Jambopay Wallet | wallet |
| KASNEB | kasneb |
| 基苏穆供水与污水 | kiwasco |
| 肯尼亚电力与照明 | kplc |
| 土地税 | landrate |
| 酒类 | liquor |
| 杂项 | misc |
| 内罗毕供水 | nairobiwater |
| NHIF | nhif |
| 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”,而不是传递给构造函数。