feat: payment pay
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package pay
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type APIError struct {
|
||||
StatusCode int
|
||||
Code string `json:"code"`
|
||||
Message string `json:"message"`
|
||||
RawBody string
|
||||
}
|
||||
|
||||
func (e *APIError) Error() string {
|
||||
if e.Code != "" {
|
||||
return e.Message
|
||||
// return fmt.Sprintf("wechat pay api error: status=%d code=%s message=%s", e.StatusCode, e.Code, e.Message)
|
||||
}
|
||||
return e.RawBody
|
||||
// return fmt.Sprintf("wechat pay api error: status=%d body=%s", e.StatusCode, e.RawBody)
|
||||
}
|
||||
|
||||
func newAPIError(statusCode int, body []byte) error {
|
||||
err := &APIError{
|
||||
StatusCode: statusCode,
|
||||
RawBody: string(body),
|
||||
}
|
||||
_ = json.Unmarshal(body, err)
|
||||
return err
|
||||
}
|
||||
|
||||
func isSuccessStatus(code int) bool {
|
||||
return code >= http.StatusOK && code < http.StatusMultipleChoices
|
||||
}
|
||||
Reference in New Issue
Block a user