账务接口

接口列表

接口名称 接口方法 说明
1.添加账务 Bill.AddBillItem 该接口是添加账务接口,适用于在办理预定或入住时客人消费和付款入账的操作
2.查询账套内余额 Bill.GetBillBalance 查询账套内余额
3.查询账务 Bill.GetBillItems 查询账务
4.添加在线支付记录 Bill.AddOnlinePayment 记录每一笔在线支付
5.修改在线支付记录 Bill.UpdateOnlinePayment 修改在线支付
6.查询支付结果 Bill.SearchPayResult 查询支付结果
7.在线支付 Bill.OnlinePay 在线支付
8.新增预授权 Bill.AddGuaranteeItem 预授权添加,目前只支持银行卡
9.查询预授权 Bill.GetGuaranteeItems 查询预授权信息
10.取消预授权 Bill.CancelGuaranteeItems 查询预授权信息
11.完成预授权 Bill.CompleteGuaranteeItem 查询预授权信息
12.转账 Bill.Transfer 把账务转到指定的账套
13.获取支付二维码 Bill.GetPayQrCode 获取扫码付支付二维码地址
14.挂账 Bill.Suspend 挂账

1.添加账务

Bill.AddBillItem

应用场景

该接口是添加账务接口,适用于在办理预定或入住时客人消费和付款入账的操作

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
账务Id BillId long
账务类型 BillItemType BillItemType Credit 或 Debit
账务科目 SubItemType string 账务数据字典
是否是押金 IsDeposit bool
金额 Amount decimal
摘要 Memo string
支付附加信息 PaymentRequest PaymentModel
外部引用编号 ExternalRefId long 引用批量进货单号
小商品信息 SmallWareOrders SmallWareOrderItem[]

PaymentModel

支付信息备注

  1. ◆ C9120:BankKey,CardNumber,AuthorizeId,BeginValidTime,EndValidTime 必填
  2. ◆ C9150:如果MemberId有值则在支付过程中自动扣除积分,否则请先手动扣除积分,Amount必填
  3. ◆ C9130:如果MemberId有值则在支付过程中自动扣除储值,否则请先手动扣除储值,Amount必填
  4. ◆ C9240:OnlinePaymentId必填
字段名 变量名 必填 类型 示例值 描述
Ar账账套Id ArAccountId long 仅CashingBill.AddCashingBillItem 接口可用
Ar帐套名称 ArAccountName string 仅Bill.AddBillItem 接口可用
银行编号 BankKey string 入账科目为:C9120 必填
支票 ChequeNumber string
卡号 CardNumber string 入账科目为:C9120 必填
授权号 AuthorizeId string 入账科目为:C9120 必填
有效期开始时间 BeginValidTime DateTime 入账科目为:C9120 必填
有效期结束时间 EndValidTime DateTime 入账科目为:C9120 必填
在线支付Id OnlinePaymentId long 入账科目为:C9240 必填
备注 Memo string
金额 Amount decimal 入账科目为:C9150、C9130、并MemberId为空,必填
会员Id MemberId string
费用类型 FeeType string 见数据字典
会员名称 MemberName string
电话 Mobile string
卡号 MemberCardId string
外卡号 ExtCardNo string

SmallWareOrderItem

字段名 变量名 必填 类型 示例值 描述
商品Id GoodsId string
酒店自定义物品编号 GoodsNo string
名称 Name string
数量 Count int
价格 Price decimal

示例

 {
    "ChannelKey": "web",
    "Method": "Bill.AddBillItem",
    "BizContent":"{\"OrgId\":2147483644,\"BillId\":678027732549648,\"BillItemType\":1,
    \"SubItemType\":\"C9110\",\"IsDeposit\":true,\"Amount\":110.00,\"Memo\":\"test\",
    \"PaymentRequest\":{},
    \"ExternalRefId\":null,
    \"SmallWareOrders\":[],
    \"CheckBillIds\":[],
    \"ItemCategory\":\"\",
    \"TotalAmount\":null}",
    "Sign": "0B9AD5D2BBBFF5E0493FBA4A134AB1E2",
    "SignType": "MD5",
    "Format": "json",
    "Charset": "utf-8",
    "Version": "1.0",
    "Timestamp": "2017-12-18 10:12:13"
}

其中BizContent是接口参数的json字符串,其json格式如下:

{
    "OrgId":2147483644,
    "BillId":678027732549648,
    "BillItemType":1,
    "SubItemType":"C9110",
    "IsDeposit":true,
    "Amount":110.00,
    "Memo":"test",
    "PaymentRequest":[],
    "ExternalRefId":null,
    "SmallWareOrders":[],
    "CheckBillIds":[],
    "ItemCategory":"",
    "TotalAmount":null
}

返回结果

字段名 变量名 必填 类型 示例值 描述
账务明细Id BillItemId long
订单Id OrderId long
订单号 OrderNo string
房间号 RoomNumber string
入住人姓名 CheckinName string
抵店时间 ArriveTime DateTime
离店时间 DepartureTime DateTime
账务Id BillId long
账务号 BillNo string
营业日 BusinessDate DateTime
账务明细类型 ItemType BillItemType
Credit科目 CreditType BillCreditType ItemType 为 Credit
付款描述 CreditTypeDesc string
Debit科目 DebitType BillDebitType ItemType 为 Debit
消费描述 DebitTypeDesc string
账务名称 BillName string
金额 Amount decimal
摘要 Memo string
操作人 CreatorName string
操作时间 CreateTimeInUtc DateTime Utc时间

示例

{
        "Code": 10000,
        "Message": null,
        "SubCode": null,
        "SubMessage": null,
        "Data": {
            "BillItemId": 3,
            "OrderId": 678027732549638,
            "OrderNo": "2O8TC846006",
            "RoomNumber": null,
            "CheckinName": null,
            "ArriveTime": "0001-01-01T00:00:00",
            "DepartureTime": "0001-01-01T00:00:00",
            "BillId": 678027732549648,
            "BillNo": "2O8TC84600G",
            "BusinessDate": "2017-12-18T00:00:00",
            "ItemType": "Credit",
            "CreditType": "C9110",
            "CreditTypeDesc": null,
            "DebitType": null,
            "DebitTypeDesc": null,
            "BillName": null,
            "Amount": 110,
            "Memo": "test",
            "CreatorName": "PublicServiceNew_Web",
            "CreateTimeInUtc": "2017-12-18T13:43:19.3905525Z",
            "TransactoinId": 0
        }
}

业务异常码表

Code
(返回码)
Message
(返回码描述)
SubCode
(业务返回码)
SubMessage
(业务返回码描述)
解决方案
50000 业务处理失败 bill.invalid-bill-id 无效的BillId
bill.ar-account-not-found 未找到AR账套 如果是AR账必须要传入正确的AR套
bill.found-more-than-one-ar-account 找到多个相关的AR账套
bill.channel-mismatch 分销渠道时,入账的渠道和订单或占房的渠道必须一致
bill.bill-status-closed 账套已经关闭

2.查询账套内余额

Bill.GetBillBalance

应用场景

查询账套内余额

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
账务Id BillId long
是否包含预授权 IncludePreAuthorization bool

示例

{
    "ChannelKey": "web",
    "Method": "Bill.GetBillBalance",
    "BizContent":"{\"OrgId\":2147483644,\"BillId\":678299079983122,\"IncludePreAuthorization\":false}",
    "Sign": "FAE5600EA8AD04D396AF904129D4D179",
    "SignType": "MD5",
    "Format": "json"
    "Charset": "utf-8",
    "Version": "1.0",
    "Timestamp": "2017-12-18 10:12:13"
}

其中BizContent是接口参数的json字符串,其json格式如下:

{
    \"OrgId\":2147483644,
    \"BillId\":678299079983122,
    \"IncludePreAuthorization\":false
}

返回结果

字段名 变量名 必填 类型 示例值 描述
decimal 返回的余额

示例

{
        "Code": 10000,
        "Message": null,
        "SubCode": null,
        "SubMessage": null,
        "Data": 1000
}

3.查询账务

Bill.GetBillItems

应用场景

查询账务

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
账务Id BillId 必填(2选1) long
账务明细Ids BillItemIds long[]

示例

{
    "ChannelKey": "web",
    "Method": "Bill.GetBillBalance",
    "BizContent":"{\"OrgId\":2147483644,\"BillId\":678299079983122,\"BillItemIds\":[1]}",
    "Sign": "FAE5600EA8AD04D396AF904129D4D179",
    "SignType": "MD5",
    "Format": "json"
    "Charset": "utf-8",
    "Version": "1.0",
    "Timestamp": "2017-12-18 10:12:13"
}

其中BizContent是接口参数的json字符串,其json格式如下:

{
    "OrgId":2147483644,
    "BillId":678299079983122,
    "BillItemIds":[1]
}

返回结果

字段名 变量名 必填 类型 示例值 描述
BillItemInfo[] 账务信息

示例

{
        "Code": 10000,
        "Message": null,
        "SubCode": null,
        "SubMessage": null,
        "Data": [
            {
                "BillItemId": 1,
                "OrderId": 678298949959686,
                "OrderNo": "2OA78F63006",
                "RoomNumber": null,
                "CheckinName": null,
                "ArriveTime": "0001-01-01T00:00:00",
                "DepartureTime": "0001-01-01T00:00:00",
                "BillId": 678299079983122,
                "BillNo": "2OA79A6300I",
                "BusinessDate": "2017-12-19T00:00:00",
                "ItemType": "Credit",
                "CreditType": "C9110",
                "CreditTypeDesc": "人民币现金(收款)",
                "DebitType": null,
                "DebitTypeDesc": "",
                "BillName": "人民币现金(收款)",
                "Amount": 1000,
                "Memo": null,
                "CreatorName": "superadmin",
                "CreateTimeInUtc": "2017-12-19T04:46:54.653",
                "TransactoinId": 0
            }
        ]
}

4.添加在线支付记录

Bill.AddOnlinePayment

应用场景

当添加在线支付会先添加一条在线支付记录

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
账务Id BillId long
房间详情 RoomDetail string 例如:测试酒店1(2006 - 小王) 此信息代表是哪个酒店的哪个房间的哪个客人在线支付了一笔账,客户也可以定义自己的信息
支付类型 PayType string 具体值可查看:数据字典->在线支付类型
支付金额 Amount decimal
操作类型 OperationType string 付款:Pay,退款:Refund,预授权冻结:Freeze 代表是在线支付、在线退款或预授权冻结

示例


微信支付示例:
    {
    "ChannelKey": "web",
    "Method": "Bill.AddOnlinePayment",
    "BizContent":"{\"OrgId\":2147483644,\"BillId\":678299079983122,\"RoomDetail\":\"高级套房\",
    \"PayType\":\"WeChat\",\"Amount\":\"520\",\"OperationType\":\"Pay\"}",
    "Sign": "0756AB9B975895E17DBF1A872B178CA7",
    "SignType": "MD5",
    "Format": "json",
    "Charset": "utf-8",
    "Version": "1.0",
    "Timestamp": "2017-12-18 10:12:13"
    }
扫码付预授权示例:
    {
    "ChannelKey": "web",
    "Method": "Bill.AddOnlinePayment",
    "BizContent":"{\"OrgId\":2147483644,\"BillId\":678299079983122,\"RoomDetail\":\"高级套房\",
    \"PayType\":\"BeyondPayPreAuth\",\"Amount\":\"520\",\"OperationType\":\"Freeze\"}",
    "Sign": "0756AB9B975895E17DBF1A872B16B4E",
    "SignType": "MD5",
    "Format": "json",
    "Charset": "utf-8",
    "Version": "1.0",
    "Timestamp": "2017-12-18 10:12:13"
    }

其中BizContent是接口参数的json字符串,其json格式如下:

{
    "OrgId":2147483644,
    "BillId":678299079983122,
    "RoomDetail":"高级套房",
    "PayType":"WeChat",
    "Amount":"520",
    "OperationType":"Pay"
}

返回结果

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
在线支付Id Id long
商户订单号 IdSerialNo string
账务Id BillId long
房间详情 RoomDetail string
支付类型 PayType string
支付人的OpenId OpenId string
金额 Amount decimal
对应的账务明细 BillingItemId long
银行类型 BankType string
银行账单号 BankBillNo string
通知Id NotifyId string
付款交易流水号 TransactionId string
支付金额 PayAmount decimal
支付时间 PayTime DateTime
是否支付成功 IsSuccess bool

示例

{
        "Code": 10000,
        "Message": null,
        "SubCode": null,
        "SubMessage": null,
        "Data": {
            "OrgId": 2147483644,
            "Id": 678350643150849,
            "IdSerialNo": "2147483644-2OAGQS3D001",
            "BillId": 678299079983122,
            "RoomDetail": "高级套房",
            "PayType": "WeChat",
            "OpenId": null,
            "Amount": 520,
            "BillingItemId": 0,
            "BankType": null,
            "BankBillNo": null,
            "NotifyId": null,
            "TransactionId": null,
            "PayAmount": null,
            "PayTime": null,
            "IsSuccess": false
        }
}

5.修改在线支付记录

Bill.UpdateOnlinePayment

应用场景

单支付完毕后修改在线记录,填入一些支付信息

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
在线支付Id Id long
商户订单号 IdSerialNo string 格式为:HotelId-OnlinePaymentId
支付OpenId OpenId string 如微信,支付宝
银行类型 BankType string
银行Bill No BankBillNo string
通知Id NotifyId string
付款交易流水号 TransctionId string
支付金额 PayAmount decimal
支付时间 PayTime DateTime
是否成功 IsSuccess bool
入账明细ID BillItemId long

示例

{
        "ChannelKey": "web",
        "Method": "Bill.UpdateOnlinePayment",
        "BizContent":"{\"OrgId\":2147483644,\"Id\":678362213892097,\"IdSerialNo\":\"\",
        \"OpenId\":\"\",\"BankType\":\"\",\"BankBillNo\":\"\",\"NotifyId\":\"\",
        \"TransctionId\":\"\",\"PayAmount\":\"\",\"PayTime\":\"2017-12-18 10:12:13\",
        \"IsSuccess\":false,\"BillItemId\":\"\"}",
        "Sign": "D7DACF7C6EBE000B9D3C93E99C69BD69",
        "SignType": "MD5",
        "Format": "json",
        "Charset": "utf-8",
        "Version": "1.0",
        "Timestamp": "2017-12-18 10:12:13"
}

其中BizContent是接口参数的json字符串,其json格式如下:

{
    \"OrgId\":2147483644,
    \"Id\":678362213892097,
    \"IdSerialNo\":\"\",
    \"OpenId\":\"\",
    \"BankType\":\"\",
    \"BankBillNo\":\"\",
    \"NotifyId\":\"\",
    \"TransctionId\":\"\",
    \"PayAmount\":\"\",
    \"PayTime\":\"2017-12-18 10:12:13\",
    \"IsSuccess\":false,
    \"BillItemId\":\"\"
}

返回结果

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
在线支付Id Id long
商户订单号 IdSerialNo string
账务Id BillId long
房间详情 RoomDetail string
支付类型 PayType string
支付人的OpenId OpenId string
金额 Amount decimal
对应的账务明细 BillingItemId long
银行类型 BankType string
通知Id NotifyId string
访问事务Id TransactionId string
支付金额 PayAmount decimal
支付时间 PayTime DateTime
是否支付成功 IsSuccess bool

示例

{
        "Code": 10000,
        "Message": null,
        "SubCode": null,
        "SubMessage": null,
        "Data": {
            "OrgId": 2147483644,
            "Id": 678362213892097,
            "IdSerialNo": "2147483644-2OAIVF13001",
            "BillId": 678360498241554,
            "RoomDetail": "高级套房",
            "PayType": "WeChat",
            "OpenId": "",
            "Amount": 520,
            "BillingItemId": 0,
            "BankType": "",
            "BankBillNo": "",
            "NotifyId": "",
            "TransactionId": "",
            "PayAmount": 0,
            "PayTime": "2017-12-18T10:12:13",
            "IsSuccess": false
        }
}

6.查询支付结果

Bill.SearchPayResult

应用场景

查询支付结果

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
商户订单号 OutTradeNO string
支付订单号 TransactionID string
在线支付Id OnlinepaymentId long
支付类型 PayType string 如微信,支付宝 具体值可查看:数据字典->在线支付类型

示例

                             {
        "ChannelKey": "web",
        "Method": "Bill.SearchPayResult",
        "BizContent":"{\"OrgId\":2147483644,\"OutTradeNO\":\"\",\"TransactionID\":\"\",
        \"OnlinepaymentId\":\"678362213892097\",\"PayType\":\"WeChat\"}",
        "Sign": "F735FC271102C55EEFBD71E5ADE164B7",
        "SignType": "MD5",
        "Format": "json",
        "Charset": "utf-8",
        "Version": "1.0",
        "Timestamp": "2017-12-18 10:12:13"
}

其中BizContent是接口参数的json字符串,其json格式如下:

{
    \"OrgId\":2147483644,
    \"OutTradeNO\":\"\",
    \"TransactionID\":\"\",
    \"OnlinepaymentId\":\"678362213892097\",
    \"PayType\":\"WeChat\"
}

返回结果

字段名 变量名 必填 类型 示例值 描述
是否支付成功 IsSuccess bool
银行类型(支付宝) BankType string
支付金额:单位为元 PayAmount decimal
支付订单号 TransactionID string
商家订单号 OrderNO string
支付时间 PayTime DateTime
支付订单补充数据 Attach string
付款的账号 Buyer string 微信是openId,支付宝是支付宝账号
支付状态码 RetCode string
支付提示 RetMsg string
支付渠道 PayChannel string

示例

{
        "Code": 10000,
        "Message": null,
        "SubCode": null,
        "SubMessage": null,
        "Data": {
            "IsSuccess": false,
            "BankType": null,
            "PayAmount": 0,
            "TransactionID": null,
            "OrderNO": null,
            "PayTime": "0001-01-01T00:00:00",
            "Attach": null,
            "Buyer": null,
            "RetCode": "ORDERNOTEXIST",
            "RetMsg": "order not exist"
        }
}

业务异常码表

Code
(返回码)
Message
(返回码描述)
SubCode
(业务返回码)
SubMessage
(业务返回码描述)
解决方案
50000 业务处理失败 bill.missing-online-payment-id 缺少onlinepaymentId

7.在线支付

Bill.OnlinePay

应用场景

在线支付

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
支付方式 PayType string
交易类型,微信专用 TradeType string JSAPI为公众号支付,NATIVE扫码支付
商家订单号 OutTradeNO string 微信不能超过32位,支付宝不能超过64位
支付金额:单位元 Amount decimal
订单标题 Subject string
支付成功通知的Url NotifyUrl string
支付的附加参数,原样返回 Attach string
发起支付的客户端IP ClientIP string
发起交易客人openId OpenId string
商品Id,微信Native时必传 ProductId string
支付过期时间 ExpireTime DateTime

示例

{
    "ChannelKey": "web",
    "Method": "Bill.OnlinePay",
    "BizContent":"{\"OrgId\":2147483644,\"PayType\":\"WeChat\",\"OutTradeNO\":\"\",
    \"TradeType\":\"JSAPI\",\"OutTradeNO\":\"\",\"Amount\":200,\"Subject\":\"\",
    \"NotifyUrl\":\"\",\"Attach\":\"\",\"ClientIP\":\"192.168.1.1\",\"OpenId\":\"\",
    \"ProductId\":\"\",\"ExpireTime\":\"2017-12-18 10:12:13\"}",
    Sign": "AA267E1FF57C9353616898005E09726C",
    "SignType": "MD5",
    "Format": "json",
    "Charset": "utf-8",
    "Version": "1.0",
    "Timestamp": "2017-12-18 10:12:13"
}

其中BizContent是接口参数的json字符串,其json格式如下:

{
    \"OrgId\":2147483644,
    \"PayType\":\"WeChat\",
    \"OutTradeNO\":\"\",
    \"TradeType\":\"JSAPI\",
    \"OutTradeNO\":\"\",
    \"Amount\":200,
    \"Subject\":\"\",
    \"NotifyUrl\":\"\",
    \"Attach\":\"\",
    \"ClientIP\":\"192.168.1.1\",
    \"OpenId\":\"\",
    \"ProductId\":\"\",
    \"ExpireTime\":\"2017-12-18 10:12:13\"
}

返回结果

字段名 变量名 必填 类型 示例值 描述
string 支付成功,支付失败

示例

{
        "Code": 10000,
        "Message": null,
        "SubCode": null,
        "SubMessage": null,
        "Data": "支付成功"
}

业务异常码表

Code
(返回码)
Message
(返回码描述)
SubCode
(业务返回码)
SubMessage
(业务返回码描述)
解决方案
50000 业务处理失败 bill.invalid-trade-type TradeType应当为JSAPI或者NATIVE
bill.invalid-pay-type TPayType应当为 WeChat或者Alipay
bill.missing-product-id 缺少ProductId

8.新增预授权

Bill.AddGuaranteeItem

应用场景

信用卡预授权、扫码付预授权

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
账务Id BillId long
预授权类型 GuaranteeType int 1 目前支持填写1(信用卡)和4(扫码付)
预授权金额 GuaranteeAmount decimal
付款码 BarCode string 支付宝或微信的付款码,GuaranteeType为4时必填
备注 Memo string
支付信息 PaymentModel PaymentModel
PaymentModel
字段名 变量名 必填 类型 示例值 描述
在线支付Id OnlinePaymentId long GuaranteeType为4时必填
支付金额 Amount decimal GuaranteeType为4时,请填写:目前和GuaranteeAmount保持一致
银行标识key BankKey string 需要调用Config.GetBulkOwnerConfig 参数:Category填写“Bank”
银行卡号 CardNumber string
授权号 AuthorizeId string
授权结束时间 EndValidTime DateTime

示例


银行卡预授权示例:
    {
    "ChannelKey": "web",
    "Method": "Bill.AddGuaranteeItem",
    "BizContent": "{\"OrgId\":2147483644,\"BillId\":1093862291488769,\"GuaranteeType\":1,
    \"GuaranteeAmount\":\"200\",\"Memo\":\"6666\", \"PaymentModel\":{\"BankKey\":\"hhh\",
    \"CardNumber\":\"925633564\",\"AuthorizeId\":\"0897878898\",\"EndValidTime\":\"2020-08-06 13:50:24\"}}",
    "Sign": "3AB3396D1D68D39C88D5B246420B7702",
    "SignType": "MD5",
    "Format": "json",
    "Charset": "utf-8",
    "Version": "1.0",
    "Timestamp": "2020-08-07 14:56:19"
    }
扫码付预授权示例:
    {
   "ChannelKey": "Web",
   "Method": "Bill.AddGuaranteeItem",
   "BizContent": "{\"OrgId\":288733476028418,\"BillId\":1369077651390481,\"GuaranteeType\":4,
    \"GuaranteeAmount\":\"0.08\",\"Memo\":\"6666\",\"BarCode\":\"284712144376782033\",
    \"PaymentModel\":{\"OnlinePaymentId\":1447368214659096,\"Amount\":0.08}}",
   "Sign": "3AB3396D1D68D39C88D5B246420B7702",
   "SignType": "MD5",
   "Format": "json",
   "Charset": "utf-8",
   "Version": "1.0",
   "Timestamp": "2020-08-07 14:56:19"
   }
    

返回结果

字段名 变量名 必填 类型 示例值 描述
预授权账务Id GuaranteeItemId long
预授权类型 GuaranteeType int 返回1表示银行卡类型
预授权状态 GuaranteeStatus int 0:无效,1:有效,2:取消,3:已完成
预授权金额 GuaranteeAmount decimal
使用金额 UsedAmount decimal
备注 Memo string
创建人 CreatorName string
账务ID BillId string

示例

                        {
        "Code": 10000,
        "Message": null,
        "SubCode": null,
        "SubMessage": null,
        "Data":
        
        { "GuaranteeItemId": 1093948966109185, "GuaranteeType": 1, "GuaranteeStatus": 1, "GuaranteeAmount": 200.0,
         "UsedAmount": 0.0, "Memo": "6666", "PaymentModel": null, "CreatorName": "OpenApi_Web",
          "BillId": 1093862291488769 }
        }
    

9.查询预授权信息

Bill.GetGuaranteeItems

应用场景

预授权

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
账务Id BillIds long[]

示例

{
    "ChannelKey": "web",
    "Method": "Bill.GetGuaranteeItems",
    "BizContent": "
    
    {\"OrgId\":2147483644,\"BillIds\":[1093862291488769]}
    ",
    "Sign": "789F170D785CC2943A4A7FDDC9C0E64B",
    "SignType": "MD5",
    "Format": "json",
    "Charset": "utf-8",
    "Version": "1.0",
    "Timestamp": "2020-08-07 19:37:55"
    }

返回结果

字段名 变量名 必填 类型 示例值 描述
预授权账务Id GuaranteeItemId long
预授权类型 GuaranteeType int 返回1表示银行卡类型
预授权状态 GuaranteeStatus int 0:无效,1:有效,2:取消,3:已完成
预授权金额 GuaranteeStatus decimal
使用金额 UsedAmount decimal
备注 Memo string
创建人 CreatorName string
账务ID BillId string
账务状态 BillStatus int 0:预付,1:有效,2:关闭,3:挂账
支付信息 PaymentModel PaymentModel

示例

                        
                                {
                                "Code": 10000,
                                "Message": null,
                                "SubCode": null,
                                "SubMessage": null,
                                "Data": {
                                "PageSize": 15,
                                "PageIndex": 1,
                                "RecordCount": 4,
                                "PageCount": 1,
                                "Content": [
                                {
                                "GuaranteeItemId": 1101317056806913,
                                "GuaranteeType": 1,
                                "GuaranteeStatus": 1,
                                "GuaranteeAmount": 400,
                                "UsedAmount": 0,
                                "Memo": "10401",
                                "PaymentModel": {
                                "ArAccountId": 0,
                                "ArAccountName": null,
                                "BankKey": "银行卡",
                                "ChequeNumber": null,
                                "CardNumber": "1010404",
                                "AuthorizeId": "10401010",
                                "BeginValidTime": null,
                                "EndValidTime": "2020-08-29T00:00:00",
                                "OnlinePaymentId": 0,
                                "Memo": null,
                                "Amount": 0,
                                "MemberId": null,
                                "FeeType": null,
                                "MemberName": null,
                                "Name": null,
                                "Mobile": null,
                                "MemberCardId": null,
                                "ExtCardNo": null,
                                "PaymentId": 1101317056806914,
                                "MobileCheckCode": null,
                                "Password": null
                                },
                                "CreatorName": "superadmin",
                                "BillId": 1092659657768963,
                                "BillItemRefId": null,
                                "IsLocked": false,
                                "BillStatus": 1,
                                "ExternalRefId": null,
                                "CreateTimeInUtc": "2020-08-24T16:13:19+08:00",
                                "LastModifyTimeInUtc": "2020-08-24T16:13:19+08:00"
                                }
                                ]
                                }
                                }
                            
    

10.取消预授权

Bill.CancelGuaranteeItem

应用场景

信用卡预授权

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
预授权Id GuaranteeItemId long

示例

{
    "ChannelKey": "web",
    "Method": "Bill.CancelGuaranteeItem",
    "BizContent": "
    {\"OrgId\":492080278896642,\"GuaranteeItemId\":1003148279922689}
    ",
    "Sign": "9EFF567C6E5CC1BE22BEEC928A72573F",
    "SignType": "MD5",
    "Format": "json",
    "Charset": "utf-8",
    "Version": "1.0",
    "Timestamp": "2021-04-21 17:37:55"
    }

返回结果

字段名 变量名 必填 类型 示例值 描述
取消结果 Data bool

示例

                        
 {
  "Code": 10000,
  "Message": null,
  "SubCode": null,
  "SubMessage": null,
  "Data": true
 }
                            
    

11.完成预授权

Bill.CompleteGuaranteeItem

应用场景

信用卡预授权

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
预授权Id GuaranteeItemId long
完成金额 UsedAmount decimal

示例

{
    "ChannelKey": "web",
    "Method": "Bill.CompleteGuaranteeItem",
    "BizContent": "
    {\"OrgId\":492080278896642,\"GuaranteeItemId\":1204992699236356,\"UsedAmount\":10}
    ",
    "Sign": "CDC7661A16D3E61D4D1FDA8C63749453",
    "SignType": "MD5",
    "Format": "json",
    "Charset": "utf-8",
    "Version": "1.0",
    "Timestamp": "2020-08-07 19:38:55"
    }

返回结果

字段名 变量名 必填 类型 示例值 描述
完成结果 Data bool

示例

                        
 {
  "Code": 10000,
  "Message": null,
  "SubCode": null,
  "SubMessage": null,
  "Data": true
  }
                            
    

12.转账

Bill.Transfer

应用场景

转账,只能转入到已入住的账套,已结账套、现付账套不支持转出。 转入不支持已结账或挂账的账套和现付账套。

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
转出账套 FromBillIds long[] 支持多个账套
转入账套 ToBillId long
原因 Reason long

示例

{
    "ChannelKey": "web",
    "Method": "Bill.Transfer",
    "BizContent": "{\"OrgId\":2147483644,\"FromBillIds\":[1127213862158341,],\"ToBillId\":1127249283055626,\"Reason\":\"接口调用\"}",
    "Sign": "789F170D785CC2943A4A7FDDC9C0E64B",
    "SignType": "MD5",
    "Format": "json",
    "Charset": "utf-8",
    "Version": "1.0",
    "Timestamp": "2020-10-23 17:30:02"
}

返回结果

字段名 变量名 必填 类型 示例值 描述
是否成功 Data bool

示例

                                   
 {
    "Code": 10000,
    "Message": null,
    "SubCode": null,
    "SubMessage": null,
    "Data": true
}
                            
    

13.获取支付二维码

Bill.GetPayQrCode

应用场景

获取指定金额的扫码付二维码地址。 先添加待支付的在线支付记录,然后获取此地址生成二维码,供用户扫码支付。

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
待支付记录Id OnlinePaymentId long
回调通知地址 NotifyUrl string
附加信息 Attach string

示例

                            
{
"ChannelKey": "web",
"Method": "Bill.GetPayQrCode",
"BizContent": "{\"OrgId\":492080278896642,\"OnlinePaymentId\":1207937638957067,
                                    \"NotifyUrl\":\"http://cpmsdev4.beyondh.com/api/BeyondPay/BeyondPayCallback\"}",
"Sign": "789F170D785CC2943A4A7FDDC9C0E64B",
"SignType": "MD5",
"Format": "json",
"Charset": "utf-8",
"Version": "1.0",
"Timestamp": "2021-04-28 17:30:02"
}
                                

返回结果

字段名 变量名 必填 类型 示例值 描述
地址 Data string 用来生成二维码的地址

示例

                                                
{
    "Code": 10000,
    "Message": null,
    "SubCode": null,
    "SubMessage": null,
    "Data": "https://paytest.beyondh.com/#/byhScan?qrCodeId=1206695338704898&
             outTradeNO=1207937638957067¬ifyUrl=http%3a%2f%2fcpmsdev4.beyondh.com%2fapi%2fBeyondPay%2fBeyondPayCallback"
}
                            
    

支付回调通知

在扫码支付场景下,订单支付成功后进行回调通知

1.回调通知是异步通知,不能保证通知不丢失,强烈建议同时使用查询接口做订单状态补偿

2.回调接口非必须实现,建议实现,并且在扫码支付接口notifyUrl字段配置。服务端会以POST方式进行回调

3.开发者在回调接口中可以选择对sign字段进行签名校验,签名规则与接口调用说明的“签名算法说明” 一致。

4.回调通知采用POST方法

验签说明

签名算法:SHA256

1.对参数集合内非空参数值的参数按照参数名ASCII码从小到大排序(字典序)(注:如果参数值为空不参与签名,sign不参与签名,参数首字母需转小写加入前面)

示例:stringA="appId=wxd930ea5d5a258f4f&body=test&merchantId=10000100&random=ibuaiVcKdpRxkhJA"

2.在拼接的字符串之后添加签名的key。(系统参数获取别样红支付appkey)

示例:stringA="appId=wxd930ea5d5a258f4f&body=test&merchantId=10000100&random=ibuaiVcKdpRxkhJA&key=***********"

3.调用签名方法获取签名,签名值请转换为小写十六进制字符串。

回调参数

字段名 变量名 必填 类型 示例值 描述
集团Id OwnerId long
门店Id OrgId string
支付记录Id OutTradeNo string
房号 RoomNumber string
客人姓名 CustomerName string
支付渠道 PayChannel string Wechat
支付金额 TotalFee int 单位(分)
用户Id OpenId string
银行类型 BankType string
卡号 BankCardNo string
通知Id NotifyId string
支付流水号 TransactionId string
交易状态 TradeStatus string Paid是支付成功
附加信息 Attach string 班次等
是否成功 Success bool
随机数 Random string
签名 Sign string

请求示例

{
    "OwnerId": 2016061392,
    "OrgId": "492080278896642",
    "OutTradeNo": "1207937638957067",
    "RoomNumber":,
    "CustomerName":,
    "PayChannel": "Wechat",
    "TotalFee": 1,
    "OpenId":,
    "BankType":,
    "BankCardNo":,
    "NotifyId":,
    "TransactionId": "4200001021202104281536969136",
    "TradeStatus": "Paid",
    "Attach": "0|0",
    "Success": True,
    "Random": "YgONoUiT562B1LC4",
    "Sign": "2117b5796ac0e8bda15b182d5bbe00a3641f1e1c1b110842f68e1c5b4c62c6fe",
} 
    

返回示例

{
 "Status" : "success"
}                
    

14.挂账

Bill.SuspendBill

应用场景

挂账

请求参数

字段名 变量名 必填 类型 示例值 描述
酒店Id OrgId long
挂账的账套Id的列表 SuspendBillIds long[] 支持多个账套
备注 Demo string

示例

                                
                                    {
                                    "ChannelKey":"Hotel",
                                    "Method":"Bill.SuspendBill",
                                    "BizContent":"{\"OrgId\":\"871488164724740\",\"SuspendBillIds\":[1493696274300933],\"Memo\":\"测试一下\"}",
                                    "Sign":"30DA82F7CAD9141FA729189F7F16F3E1",
                                    "SignType":"MD5",
                                    "Format":"json",
                                    "Charset":"utf-8",
                                    "Version":"1.0",
                                    "Timestamp":"2023-02-27 16:54:35"
                                    }
                                

返回结果

字段名 变量名 必填 类型 示例值 描述
是否成功 Data bool true 注意处理异常情况

示例

                                   
 {
    "Code": 10000,
    "Message": null,
    "SubCode": null,
    "SubMessage": null,
    "Data": true
}