diff --git a/core.go b/core.go index 503cd0d..d0d04af 100644 --- a/core.go +++ b/core.go @@ -3,6 +3,7 @@ package midtrans import ( "bytes" "encoding/json" + "errors" "io" "strings" ) @@ -33,8 +34,8 @@ func (gateway *CoreGateway) Charge(req *ChargeReq) (Response, error) { return resp, err } - if resp.StatusMessage != "" { - gateway.Client.Logger.Println(resp.StatusMessage) + if resp.StatusCode != "200" { + return resp, errors.New(resp.StatusMessage) } return resp, nil @@ -57,8 +58,8 @@ func (gateway *CoreGateway) CaptureCard(req *CaptureReq) (Response, error) { return resp, err } - if resp.StatusMessage != "" { - gateway.Client.Logger.Println(resp.StatusMessage) + if resp.StatusCode != "200" { + return resp, errors.New(resp.StatusMessage) } return resp, nil @@ -74,8 +75,8 @@ func (gateway *CoreGateway) Approve(orderID string) (Response, error) { return resp, err } - if resp.StatusMessage != "" { - gateway.Client.Logger.Println(resp.StatusMessage) + if resp.StatusCode != "200" { + return resp, errors.New(resp.StatusMessage) } return resp, nil @@ -91,8 +92,8 @@ func (gateway *CoreGateway) Cancel(orderID string) (Response, error) { return resp, err } - if resp.StatusMessage != "" { - gateway.Client.Logger.Println(resp.StatusMessage) + if resp.StatusCode != "200" { + return resp, errors.New(resp.StatusMessage) } return resp, nil @@ -108,8 +109,8 @@ func (gateway *CoreGateway) Expire(orderID string) (Response, error) { return resp, err } - if resp.StatusMessage != "" { - gateway.Client.Logger.Println(resp.StatusMessage) + if resp.StatusCode != "200" { + return resp, errors.New(resp.StatusMessage) } return resp, nil @@ -125,8 +126,8 @@ func (gateway *CoreGateway) Status(orderID string) (Response, error) { return resp, err } - if resp.StatusMessage != "" { - gateway.Client.Logger.Println(resp.StatusMessage) + if resp.StatusCode != "200" { + return resp, errors.New(resp.StatusMessage) } return resp, nil @@ -143,8 +144,8 @@ func (gateway *CoreGateway) Refund(orderID string, req *RefundReq) (Response, er return resp, err } - if resp.StatusMessage != "" { - gateway.Client.Logger.Println(resp.StatusMessage) + if resp.StatusCode != "200" { + return resp, errors.New(resp.StatusMessage) } return resp, nil @@ -161,8 +162,8 @@ func (gateway *CoreGateway) DirectRefund(orderID string, req *RefundReq) (Respon return resp, err } - if resp.StatusMessage != "" { - gateway.Client.Logger.Println(resp.StatusMessage) + if resp.StatusCode != "200" { + return resp, errors.New(resp.StatusMessage) } return resp, nil