github.com/chanxuehong/wechat@v0.0.0-20230222024006-36f0325263cd/mp/card/code/consume.go (about)

     1  package code
     2  
     3  import (
     4  	"github.com/chanxuehong/wechat/mp/core"
     5  )
     6  
     7  // 核销Code接口.
     8  func Consume(clt *core.Client, id *CardItemIdentifier) (cardId, openId string, err error) {
     9  	var result struct {
    10  		core.Error
    11  		Card struct {
    12  			CardId string `json:"card_id"`
    13  		} `json:"card"`
    14  		OpenId string `json:"openid"`
    15  	}
    16  
    17  	incompleteURL := "https://api.weixin.qq.com/card/code/consume?access_token="
    18  	if err = clt.PostJSON(incompleteURL, id, &result); err != nil {
    19  		return
    20  	}
    21  
    22  	if result.ErrCode != core.ErrCodeOK {
    23  		err = &result.Error
    24  		return
    25  	}
    26  	cardId = result.Card.CardId
    27  	openId = result.OpenId
    28  	return
    29  }