1
This commit is contained in:
@@ -231,3 +231,8 @@ func TestGetImage(t *testing.T) {
|
||||
|
||||
globals.SugarLogger.Debugf("---%s", string(data))
|
||||
}
|
||||
|
||||
func TestUploadInvoice(t *testing.T) {
|
||||
err := api.UploadInvoice("12532643754865764", "https://s3plus.meituan.com/invoice/h1d28903f293gd9g19rgf21e", "71209468123", "192473206944002876")
|
||||
globals.SugarLogger.Debugf("--err := %v", err)
|
||||
}
|
||||
|
||||
54
platformapi/mtwmapi/invoice.go
Normal file
54
platformapi/mtwmapi/invoice.go
Normal file
@@ -0,0 +1,54 @@
|
||||
package mtwmapi
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type InvoiceCallback struct {
|
||||
Timestamp int64 `json:"timestamp"` // 时间戳
|
||||
AppId string `json:"app_id"` // 美团分配给APP方的id
|
||||
Sig string `json:"sig"` // 输入参数计算后的签名结果
|
||||
MtRequestId string `json:"mt_request_id"` // 平台请求id,由平台自动生成并保证唯一性,不参与业务逻辑,在接口响应时返回给商家系统
|
||||
OrderId string `json:"order_id"` // 订单ID
|
||||
InvoiceTaskId string `json:"invoice_task_id"` // 开票任务id
|
||||
PushType int `json:"push_type"` // 消息类型,1-开发票,3-催发票
|
||||
InvoiceTitle string `json:"invoice_title"` // 发票的抬头。
|
||||
TaxpayerId string `json:"taxpayer_id"` // 纳税人识别号
|
||||
NeedInvoiceByCategory int `json:"need_invoice_by_category"` // 1-需要按大类开票;2-需要商品明细开
|
||||
CompanyAddress string `json:"company_address"` // 公司地址
|
||||
CompanyPhone string `json:"company_phone"` // 电话
|
||||
AccountBank string `json:"account_bank"` // 开户银行
|
||||
AccountNumber string `json:"account_number"` // 开户账号
|
||||
Email string `json:"email"` // 邮箱
|
||||
EmailExpireTime int64 `json:"email_expire_time"` // 邮箱有效期
|
||||
ItemTotalInvoiceAmount int64 `json:"item_total_invoice_amount"` // 商家开票金额
|
||||
}
|
||||
|
||||
// UploadInvoice 上传发票给用户
|
||||
func (a *API) UploadInvoice(orderId, invoiceUrl, invoiceId, taskId string) (err error) {
|
||||
resp, err := a.AccessAPI2("ecommerce/invoice/upload", false, map[string]interface{}{
|
||||
KeyOrderID: orderId,
|
||||
"invoice_url": invoiceUrl,
|
||||
"invoice_id": invoiceId,
|
||||
"invoice_task_id": taskId,
|
||||
}, "", "")
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if utils.MustInterface2Int64(resp.(map[string]interface{})["result_code"]) == 1 {
|
||||
return nil
|
||||
}
|
||||
|
||||
errMsg := make([]string, 0, 0)
|
||||
if resp.(map[string]interface{})["error_list"] != nil {
|
||||
for _, v := range resp.(map[string]interface{})["error_list"].([]interface{}) {
|
||||
errMsg = append(errMsg, v.(map[string]interface{})["msg"].(string))
|
||||
}
|
||||
|
||||
}
|
||||
return fmt.Errorf("%s", strings.Join(errMsg, ","))
|
||||
}
|
||||
Reference in New Issue
Block a user