public RefundResponse Refund(RefundRequest refundRequest, string apiUrl, string secretKey) { refundRequest.SetSignature(secretKey); var refundResponse = RestCall <RefundResponse>(apiUrl, refundRequest, secretKey); if (refundResponse.Success && !refundResponse.WaitingApproval) { refundResponse.ControlSignature(secretKey, refundRequest.HashVersion); } return(refundResponse); }