Constants

API_BASE_URL_PREFIX

API_BASE_URL_PREFIX = 'https://api.weixin.qq.com'

API接口URL需要使用此前缀

API_URL_PREFIX

API_URL_PREFIX = 'https://api.weixin.qq.com/cgi-bin'

GET_TICKET_URL

GET_TICKET_URL = '/ticket/getticket?'

AUTH_URL

AUTH_URL = '/token?grant_type=client_credential&'

CARD_CREATE

CARD_CREATE = '/card/create?'

卡券相关地址

CARD_DELETE

CARD_DELETE = '/card/delete?'

CARD_UPDATE

CARD_UPDATE = '/card/update?'

CARD_GET

CARD_GET = '/card/get?'

CARD_USER_GET_LIST

CARD_USER_GET_LIST = '/card/user/getcardlist?'

CARD_CHECKCODE

CARD_CHECKCODE = '/card/code/checkcode?'

CARD_SET_SELFCONSUMECELL

CARD_SET_SELFCONSUMECELL = '/card/selfconsumecell/set?'

CARD_SEND_HTML

CARD_SEND_HTML = '/card/mpnews/gethtml?'

CARD_BATCHGET

CARD_BATCHGET = '/card/batchget?'

CARD_MODIFY_STOCK

CARD_MODIFY_STOCK = '/card/modifystock?'

CARD_GETCOLORS

CARD_GETCOLORS = '/card/getcolors?'

CARD_QRCODE_CREATE

CARD_QRCODE_CREATE = '/card/qrcode/create?'

CARD_CODE_CONSUME

CARD_CODE_CONSUME = '/card/code/consume?'

CARD_CODE_DECRYPT

CARD_CODE_DECRYPT = '/card/code/decrypt?'

CARD_CODE_GET

CARD_CODE_GET = '/card/code/get?'

CARD_CODE_UPDATE

CARD_CODE_UPDATE = '/card/code/update?'

CARD_CODE_UNAVAILABLE

CARD_CODE_UNAVAILABLE = '/card/code/unavailable?'

CARD_TESTWHILELIST_SET

CARD_TESTWHILELIST_SET = '/card/testwhitelist/set?'

CARD_MEETINGCARD_UPDATEUSER

CARD_MEETINGCARD_UPDATEUSER = '/card/meetingticket/updateuser?'

CARD_MEMBERCARD_ACTIVATE

CARD_MEMBERCARD_ACTIVATE = '/card/membercard/activate?'

CARD_MEMBERCARD_UPDATEUSER

CARD_MEMBERCARD_UPDATEUSER = '/card/membercard/updateuser?'

CARD_MOVIETICKET_UPDATEUSER

CARD_MOVIETICKET_UPDATEUSER = '/card/movieticket/updateuser?'

CARD_BOARDINGPASS_CHECKIN

CARD_BOARDINGPASS_CHECKIN = '/card/boardingpass/checkin?'

CARD_LUCKYMONEY_UPDATE

CARD_LUCKYMONEY_UPDATE = '/card/luckymoney/updateuserbalance?'

更新红包金额

CARD_PAYCELL_SET

CARD_PAYCELL_SET = '/card/paycell/set?'

CARD_MEMBERCARD_ACTIVATEUSERFORM_SET

CARD_MEMBERCARD_ACTIVATEUSERFORM_SET = '/card/membercard/activateuserform/set?'

Properties

$token

$token : 

Type

$encodingAesKey

$encodingAesKey : 

Type

$encrypt_type

$encrypt_type : 

Type

$appid

$appid : 

Type

$appsecret

$appsecret : 

Type

$access_token

$access_token : 

Type

$postxml

$postxml : 

Type

$_msg

$_msg : 

Type

$errCode

$errCode : 

Type

$errMsg

$errMsg : 

Type

$config

$config : 

Type

$_retry

$_retry : 

Type

Methods

__construct()

__construct(array  $options = array()) 

构造方法

Parameters

array $options

getErrorCode()

getErrorCode() : integer

当前当前错误代码

Returns

integer

getError()

getError() : string

获取当前错误内容

Returns

string

getAppid()

getAppid() : string

获取当前操作公众号APPID

Returns

string

getConfig()

getConfig() : array

获取SDK配置参数

Returns

array

valid()

valid() : boolean

接口验证

Returns

boolean

getAccessToken()

getAccessToken(string  $appid = '', string  $appsecret = '', string  $token = '') : boolean|string

获取公众号访问 access_token

Parameters

string $appid

如在类初始化时已提供,则可为空

string $appsecret

如在类初始化时已提供,则可为空

string $token

手动指定access_token,非必要情况不建议用

Returns

boolean|string

resetAuth()

resetAuth(string  $appid = '') : boolean

删除验证数据

Parameters

string $appid

如在类初始化时已提供,则可为空

Returns

boolean

getJsCardTicket()

getJsCardTicket(string  $appid = '', string  $jsapi_ticket = '') : boolean|string

获取微信卡券 api_ticket

Parameters

string $appid
string $jsapi_ticket

Returns

boolean|string

createChooseCardJsPackage()

createChooseCardJsPackage(string  $cardid = null, string  $cardtype = null, string  $shopid = null) : array

生成选择卡卷JS签名包

Parameters

string $cardid

卡券Id

string $cardtype

卡券类型

string $shopid

门店Id

Returns

array

createAddCardJsPackage()

createAddCardJsPackage(string|null  $cardid = null, array  $data = array()) : array

生成添加卡卷JS签名包

Parameters

string|null $cardid

卡卷ID

array $data

其它限定参数

Returns

array

getTicketSignature()

getTicketSignature(array  $arrdata, string  $method = "sha1") : boolean|string

获取微信卡券签名

Parameters

array $arrdata

签名数组

string $method

签名方法

Returns

boolean|string —

签名值

createCard()

createCard(array  $data) : boolean|array

创建卡券

Parameters

array $data

卡券数据

Returns

boolean|array —

返回数组中card_id为卡券ID

updateCard()

updateCard(string  $data) : boolean

更改卡券信息 调用该接口更新信息后会重新送审,卡券状态变更为待审核。已被用户领取的卡券会实时更新票面信息。

Parameters

string $data

Returns

boolean

delCard()

delCard(string  $card_id) : boolean

删除卡券 允许商户删除任意一类卡券。删除卡券后,该卡券对应已生成的领取用二维码、添加到卡包 JS API 均会失效。 注意:删除卡券不能删除已被用户领取,保存在微信客户端中的卡券,已领取的卡券依旧有效。

Parameters

string $card_id

卡券ID

Returns

boolean

getCardList()

getCardList(  $openid, string  $card_id = '') : boolean|array

获取粉丝下所有卡卷列表

Parameters

$openid

粉丝openid

string $card_id

卡卷ID(可不给)

Returns

boolean|array

getCardMpHtml()

getCardMpHtml(string  $card_id) : boolean|array

获取图文消息群发卡券HTML

Parameters

string $card_id

卡卷ID

Returns

boolean|array

checkCardCodeList()

checkCardCodeList(string  $card_id, array  $code_list) : boolean|array

卡卷code核查

Parameters

string $card_id

卡卷ID

array $code_list

卡卷code列表(一维数组)

Returns

boolean|array

getCardInfo()

getCardInfo(string  $card_id) : boolean|array

查询卡券详情

Parameters

string $card_id

卡卷ID

Returns

boolean|array

getCardColors()

getCardColors() : boolean|array

获取颜色列表 获得卡券的最新颜色列表,用于创建卡券

Returns

boolean|array

createCardQrcode()

createCardQrcode(string  $card_id, string  $code = '', string  $openid = '', integer  $expire_seconds, boolean  $is_unique_code = false, string  $balance = '') : boolean|string

生成卡券二维码 成功则直接返回ticket值,可以用 getQRUrl($ticket) 换取二维码url

Parameters

string $card_id

卡券ID 必须

string $code

指定卡券 code 码,只能被领一次。use_custom_code 字段为 true 的卡券必须填写,非自定义 code 不必填写。

string $openid

指定领取者的 openid,只有该用户能领取。bind_openid 字段为 true 的卡券必须填写,非自定义 openid 不必填写。

integer $expire_seconds

指定二维码的有效时间,范围是 60 ~ 1800 秒。不填默认为永久有效。

boolean $is_unique_code

指定下发二维码,生成的二维码随机分配一个 code,领取后不可再次扫描。填写 true 或 false。默认 false。

string $balance

红包余额,以分为单位。红包类型必填(LUCKY_MONEY),其他卡券类型不填。

Returns

boolean|string

consumeCardCode()

consumeCardCode(string  $code, string  $card_id = '') : boolean|array

消耗 code 自定义 code(use_custom_code 为 true)的优惠券,在 code 被核销时,必须调用此接口。

Parameters

string $code

要消耗的序列号

string $card_id

要消耗序列号所述的 card_id,创建卡券时use_custom_code 填写 true 时必填。

Returns

boolean|array —

{ "errcode":0, "errmsg":"ok", "card":{"card_id":"pFS7Fjg8kV1IdDz01r4SQwMkuCKc"}, "openid":"oFS7Fjl0WsZ9AMZqrI80nbIq8xrA" }

decryptCardCode()

decryptCardCode(string  $encrypt_code) : boolean|array

code 解码

Parameters

string $encrypt_code

通过 choose_card_info 获取的加密字符串

Returns

boolean|array —

{ "errcode":0, "errmsg":"ok", "code":"751234212312" }

checkCardCode()

checkCardCode(string  $code) : boolean|array

查询 code 的有效性(非自定义 code)

Parameters

string $code

Returns

boolean|array —

{ "errcode":0, "errmsg":"ok", "openid":"oFS7Fjl0WsZ9AMZqrI80nbIq8xrA", //用户 openid "card":{ "card_id":"pFS7Fjg8kV1IdDz01r4SQwMkuCKc", "begin_time": 1404205036, //起始使用时间 "end_time": 1404205036, //结束时间 } }

getCardIdList()

getCardIdList(integer  $offset, integer  $count = 50) : boolean|array

批量查询卡列表

Parameters

integer $offset

开始拉取的偏移,默认为0从头开始

integer $count

需要查询的卡片的数量(数量最大50,默认50)

Returns

boolean|array —

{ "errcode":0, "errmsg":"ok", "card_id_list":["ph_gmt7cUVrlRk8swPwx7aDyF-pg"], //卡 id 列表 "total_num":1 //该商户名下 card_id 总数 }

updateCardCode()

updateCardCode(string  $code, string  $card_id, string  $new_code) : boolean

更改 code 为确保转赠后的安全性,微信允许自定义code的商户对已下发的code进行更改。 注:为避免用户疑惑,建议仅在发生转赠行为后(发生转赠后,微信会通过事件推送的方式告知商户被转赠的卡券code)对用户的code进行更改。

Parameters

string $code

卡券的 code 编码

string $card_id

卡券 ID

string $new_code

新的卡券 code 编码

Returns

boolean

unavailableCardCode()

unavailableCardCode(string  $code, string  $card_id = '') : boolean

设置卡券失效 设置卡券失效的操作不可逆

Parameters

string $code

需要设置为失效的 code

string $card_id

自定义 code 的卡券必填。非自定义 code 的卡券不填。

Returns

boolean

modifyCardStock()

modifyCardStock(string  $data) : boolean

库存修改

Parameters

string $data

Returns

boolean

updateMeetingCard()

updateMeetingCard(string  $data) : boolean

更新门票

Parameters

string $data

Returns

boolean

activateMemberCard()

activateMemberCard(string  $data) : boolean

激活/绑定会员卡

Parameters

string $data

具体结构请参看卡券开发文档(6.1.1 激活/绑定会员卡)章节

Returns

boolean

updateMemberCard()

updateMemberCard(string  $data) : boolean|array

会员卡交易 会员卡交易后每次积分及余额变更需通过接口通知微信,便于后续消息通知及其他扩展功能。

Parameters

string $data

具体结构请参看卡券开发文档(6.1.2 会员卡交易)章节

Returns

boolean|array

setCardTestWhiteList()

setCardTestWhiteList(array  $openid = array(), array  $user = array()) : boolean

设置卡券测试白名单

Parameters

array $openid

测试的 openid 列表

array $user

测试的微信号列表

Returns

boolean

updateLuckyMoney()

updateLuckyMoney(string  $code, integer  $balance, string  $card_id = '') : boolean|array

更新红包金额

Parameters

string $code

红包的序列号

integer $balance

红包余额

string $card_id

自定义 code 的卡券必填。非自定义 code 可不填。

Returns

boolean|array

setSelfconsumecell()

setSelfconsumecell(string  $card_id, boolean  $is_openid = false, boolean  $need_verify_cod = false, boolean  $need_remark_amount = false) : boolean|array

设置自助核销接口

Parameters

string $card_id

卡券ID

boolean $is_openid

是否开启自助核销功能,填true/false,默认为false

boolean $need_verify_cod

用户核销时是否需要输入验证码,填true/false,默认为false

boolean $need_remark_amount

用户核销时是否需要备注核销金额,填true/false,默认为false

Returns

boolean|array

setPaycell()

setPaycell(string  $card_id, boolean  $is_openid = true) : boolean|mixed

设置买单接口

Parameters

string $card_id
boolean $is_openid

Returns

boolean|mixed

setMembercardActivateuserform()

setMembercardActivateuserform(array  $data) : boolean|array

设置开卡字段信息接口

Parameters

array $data

Returns

boolean|array

checkRetry()

checkRetry(string  $method, array  $arguments = array()) : boolean|mixed

接口失败重试

Parameters

string $method

SDK方法名称

array $arguments

SDK方法参数

Returns

boolean|mixed

checkSignature()

checkSignature(string  $str = '') : boolean

验证来自微信服务器

Parameters

string $str

Returns

boolean

_cardSign()

_cardSign(null|string  $cardid = null, array  $attr = array()) : array

卡券数据签名

Parameters

null|string $cardid
array $attr

Returns

array