diff --git a/lib/wx_pay/service.rb b/lib/wx_pay/service.rb index f68f4de..950e36f 100644 --- a/lib/wx_pay/service.rb +++ b/lib/wx_pay/service.rb @@ -93,6 +93,22 @@ module WxPay r end + INVOKE_MICROPAY_REQUIRED_FIELDS = %i(body out_trade_no total_fee spbill_create_ip auth_code) + def self.invoke_micropay(params) + params = { + appid: WxPay.appid, + mch_id: WxPay.mch_id, + nonce_str: SecureRandom.uuid.tr('-', '') + }.merge(params) + puts params + check_required_options(params, INVOKE_MICROPAY_REQUIRED_FIELDS) + + r = invoke_remote "#{GATEWAY_URL}/pay/micropay", make_payload(params) + + yield(r) if block_given? + + r + end private -- libgit2 0.21.0