protected override PaymentProviderEndPaymentResponse endPayment(IDictionary <string, string> request, string code, string status) { var result = new PaymentProviderEndPaymentResponse <AyandehBankTranStatus>(Now); result.ProviderType = this.ProviderType; string authority = code; long auth; if (!long.TryParse(authority, out auth)) { result.Status = (int)AyandehBankTranStatus.InvalidBankStep2Code; } else if (!EndPaymentSucceeded(status)) { result.Status = status; } else { var pec = new ir.shaparak.pec.EShopService(); byte pecStatus = 0; long invoice = 0; pec.PaymentEnquiry(Config.Credentials.Pin, auth, ref pecStatus, ref invoice); result.Query = auth; result.Code = invoice; result.Status = pecStatus; result.Succeeded = (EndPaymentSucceeded(pecStatus) && auth != -1); } return(result); }
protected virtual ShetabPaymentStep2 endPayment(string code, string status) { var result = new ShetabPaymentStep2 <ParsianBankTranStatus>(); result.BankType = this.BankType; string authority = code; long auth; if (!long.TryParse(authority, out auth)) { result.Status = (int)ParsianBankTranStatus.InvalidBankStep2Code; } else if (!PaymentSucceeded(status)) { result.Status = status; } else { var pec = new ir.shaparak.pec.EShopService(); byte pecStatus = 0; long invoice = 0; pec.PaymentEnquiry(Config.Credentials.Pin, auth, ref pecStatus, ref invoice); result.Query = auth; result.Code = invoice; result.Status = pecStatus; result.Succeeded = (PaymentStep2Succeeded(pecStatus) && auth != -1); } return(result); }