public System.Threading.Tasks.Task <ZarinPalGateWay.PaymentRequestWithExtraResponse> PaymentRequestWithExtraAsync(string MerchantID, int Amount, string Description, string AdditionalData, string Email, string Mobile, string CallbackURL)
 {
     ZarinPalGateWay.PaymentRequestWithExtraRequest inValue = new ZarinPalGateWay.PaymentRequestWithExtraRequest();
     inValue.Body                = new ZarinPalGateWay.PaymentRequestWithExtraRequestBody();
     inValue.Body.MerchantID     = MerchantID;
     inValue.Body.Amount         = Amount;
     inValue.Body.Description    = Description;
     inValue.Body.AdditionalData = AdditionalData;
     inValue.Body.Email          = Email;
     inValue.Body.Mobile         = Mobile;
     inValue.Body.CallbackURL    = CallbackURL;
     return(((ZarinPalGateWay.PaymentGatewayImplementationServicePortType)(this)).PaymentRequestWithExtraAsync(inValue));
 }
 System.Threading.Tasks.Task <ZarinPalGateWay.PaymentRequestWithExtraResponse> ZarinPalGateWay.PaymentGatewayImplementationServicePortType.PaymentRequestWithExtraAsync(ZarinPalGateWay.PaymentRequestWithExtraRequest request)
 {
     return(base.Channel.PaymentRequestWithExtraAsync(request));
 }