/// <summary> /// claim bulunur database de varsa o alınır yoksa yeni bir claim yaratılır. /// transaction tanımında claim varsa alır yoksa mastercard sistemden claim numarası alır. /// alınan claim transaction uzerine kaydeder. /// </summary> /// <param name="mscMcomPool"></param> /// <param name="chargebackFillRequest"></param> /// <param name="mscMcomTransactionId"></param> /// <returns></returns> private MscMcomClaim GetMscMcomClaim(MscMcomPool mscMcomPool, ChargebackFillRequest chargebackFillRequest, MscMcomTransaction mscMcomTransactionId) { MscMcomClaim mscMcomClaim = null; if (!String.IsNullOrWhiteSpace(mscMcomTransactionId.ClaimId)) { mscMcomClaim = _iTransactionData.GetClaim(mscMcomTransactionId.ClaimId); } if (mscMcomClaim == null) { mscMcomClaim = new MscMcomClaim(); var claimRequest = new ClaimRequest(); claimRequest.clearingTransactionId = mscMcomTransactionId.ClearingTransactionId; claimRequest.disputedAmount = chargebackFillRequest.amount; claimRequest.disputedCurrency = chargebackFillRequest.currency; claimRequest.claimType = "Standard"; mscMcomClaim.ClaimId = _iClaims.CreateClaim(mscMcomPool.ClearingRefKey, claimRequest); mscMcomClaim.ClearingTransactionId = mscMcomTransactionId.ClearingTransactionId; mscMcomClaim.ClrKey = mscMcomPool.ClearingRefKey; mscMcomClaim.AuthKey = mscMcomPool.ProvisionRefKey; mscMcomClaim.ClaimStatu = "OPEN"; _iTransactionData.CreateClaim(mscMcomClaim); mscMcomTransactionId.ClaimId = mscMcomClaim.ClaimId; _iTransactionData.UpdateClaimId(mscMcomTransactionId); } return(mscMcomClaim); }
public void Create(MscMcomPool mscMcomPool) { var mscTransactionData = _iTransactionData.GetIssuerData(mscMcomPool); //reversalı yapılan chargeback işleminin chargeback id si pool dan bulunur MscMcomPool cbMscMcomPool = _iTransactionData.GetMscMcomPoolClearingNo(mscTransactionData.ClrNo, ApiConstants.PoolActionType.Chargeback); //claim transaction bilgisi ile bulunur MscMcomClaim mscMcomClaim = _iTransactionData.GetClaim(mscTransactionData.ProvGuid); //reversal request oluşturulur ChargebackRequest chargebackRequest = new ChargebackRequest(); chargebackRequest.claimId = mscMcomClaim.ClaimId; chargebackRequest.chargebackId = cbMscMcomPool.McomRefNo; //update datası hazırlanır. ClrDocumentInfo clrDocumentInfo = _iTransactionData.GetDocumentInfo(mscTransactionData.Guid, ApiConstants.PoolActionType.ChargebackDocument); if (clrDocumentInfo == null) { throw new Exception("Document not found for update"); } ChargebackFillRequest chargebackFillRequest = new ChargebackFillRequest(); chargebackFillRequest.fileAttachment = _iTransactionData.GetAttachment(clrDocumentInfo); //memo bilgisi elde edilir. chargebackFillRequest.memo = clrDocumentInfo.Description; //Chargeback reversal servisi cagrılır. mscMcomPool.ResponseStatus = ""; mscMcomPool.ClaimId = mscMcomClaim.ClaimId; mscMcomPool.McomRefNo = _iChargebacks.Update(mscMcomPool.ClearingRefKey, chargebackRequest, chargebackFillRequest); }
public MscMcomClaim GetClaim(string claimId) { MscMcomClaim mscMcomClaim = new MscMcomClaim(); if (mscMcomClaim.findByKey(claimId)) { return(mscMcomClaim); } return(null); }
public void Create(MscMcomPool mscMcomPool) { //yapılan chargeback datası alınmakta. ChargebackFillRequest chargebackFillRequest = GetChargebackData(mscMcomPool); //Chargeback yapılacak transaction mastrercom tarafından bulunur. Clearingtransaction id alınır. MscMcomTransaction mscMcomTransactionId = GetMscMcomTransactionId(mscMcomPool); //claim bulunur. MscMcomClaim mscMcomClaim = GetMscMcomClaim(mscMcomPool, chargebackFillRequest, mscMcomTransactionId); //chargeback üretilir. mscMcomPool.ResponseStatus = "INITIAL"; mscMcomPool.ClaimId = mscMcomClaim.ClaimId; mscMcomPool.McomRefNo = _iChargebacks.Create(mscMcomPool.ClearingRefKey, mscMcomClaim.ClaimId, chargebackFillRequest); }
public void Create(MscMcomPool mscMcomPool) { //cb reversal datası alınır var cbReversalData = _iTransactionData.GetIssuerData(mscMcomPool); //reversalı yapılan chargeback işleminin chargeback id si pool dan bulunur MscMcomPool cbMscMcomPool = _iTransactionData.GetMscMcomPoolClearingNo(cbReversalData.PrevClearingNo, ApiConstants.PoolActionType.Chargeback); //claim transaction bilgisi ile bulunur MscMcomClaim mscMcomClaim = _iTransactionData.GetClaim(cbReversalData.ProvGuid); //reversal request oluşturulur ChargebackRequest chargebackRequest = new ChargebackRequest(); chargebackRequest.claimId = mscMcomClaim.ClaimId; chargebackRequest.chargebackId = cbMscMcomPool.McomRefNo; //Chargeback reversal servisi cagrılır. mscMcomPool.ResponseStatus = "INITIAL"; mscMcomPool.ClaimId = mscMcomClaim.ClaimId; mscMcomPool.McomRefNo = _iChargebacks.CreateReversal(mscMcomPool.ClearingRefKey, chargebackRequest); }
public void Create_ReversalCreate_TakeReversalId() { //arrange var mscTransactionData = new MscTransaction() { PrevClearingNo = 11 }; var mscMcomClaim = new MscMcomClaim() { ClaimId = claimId }; var cbRevMscMcomPool = new MscMcomPool(); transactionData.Setup(f => f.GetIssuerData(mscMcomPool)).Returns(mscTransactionData); transactionData.Setup(f => f.GetMscMcomPoolClearingNo(mscTransactionData.PrevClearingNo, ApiConstants.PoolActionType.Chargeback)).Returns(cbRevMscMcomPool); transactionData.Setup(f => f.GetClaim(mscTransactionData.ProvGuid)).Returns(mscMcomClaim); chargebacks.Setup(f => f.CreateReversal(It.IsAny <long>(), It.IsAny <ChargebackRequest>())).Returns(chargebackId); //act createChargebackReversal.Create(mscMcomPool); //assert Assert.That(mscMcomPool.McomRefNo, Is.Not.Null); Assert.That(mscMcomPool.McomRefNo, Is.EqualTo(chargebackId)); }
public void CreateClaim(MscMcomClaim mscMcomClaim) { mscMcomClaim.Create(); }