diff --git a/lib/wx_pay/service.rb b/lib/wx_pay/service.rb index e50800f..76362f3 100644 --- a/lib/wx_pay/service.rb +++ b/lib/wx_pay/service.rb @@ -450,6 +450,31 @@ module WxPay r end + + # 用于商户对已发放的红包进行查询红包的具体信息,可支持普通红包和裂变包。 + GETHBINFO_FIELDS = [:mch_billno, :bill_type] + def self.gethbinfo(params, options = {}) + params = { + appid: options.delete(:appid) || WxPay.appid, + mch_id: options.delete(:mch_id) || WxPay.mch_id, + nonce_str: SecureRandom.uuid.tr('-', ''), + key: options.delete(:key) || WxPay.key + }.merge(params) + + check_required_options(params, GETHBINFO_FIELDS) + + options = { + ssl_client_cert: options.delete(:apiclient_cert) || WxPay.apiclient_cert, + ssl_client_key: options.delete(:apiclient_key) || WxPay.apiclient_key, + verify_ssl: OpenSSL::SSL::VERIFY_NONE + }.merge(options) + + r = WxPay::Result.new(Hash.from_xml(invoke_remote("/mmpaymkttransfers/gethbinfo", make_payload(params), options))) + + yield r if block_given? + + r + end class << self private -- libgit2 0.21.0