public override async Task<VerifyPaymentResponse> VerifyPayment(VerifyPaymentRequest verifyRequest)
        {
            double rs = -1000;
            try
            {
                PaymentGateway.ServiceReference.SamanGateway.Payment.PaymentIFBindingSoapClient client =
                    new PaymentGateway.ServiceReference.SamanGateway.Payment.PaymentIFBindingSoapClient(
                        ServiceReference.SamanGateway.Payment.PaymentIFBindingSoapClient.EndpointConfiguration
                            .PaymentIFBindingSoap12);

                rs = await client.verifyTransactionAsync(verifyRequest.ReferenceNumber, Configuration.TerminalId);
                if (rs < 1) throw new Exception("Saman Gateway Error : Error Code = " + rs.ToString());
                return new VerifyPaymentResponse
                {
                    ReferenceNumber = verifyRequest.ReferenceNumber,
                    SaleReferenceId = verifyRequest.ReferenceNumber,
                    PaymentAmount = rs > 0 ? Convert.ToInt64(rs) : 0,
                    IsVerified = rs > 0,
                    OriginalStatus = rs.ToString()
                };

            }
            catch (Exception ex)
            {
                throw new Exception("Saman gateway Error " + rs.ToString() + " /r/n" + ex.Message);
            }
        }
示例#2
0
 public abstract Task <VerifyPaymentResponse> VerifyPayment(VerifyPaymentRequest verifyRequest);