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 FileAttachment GetAttachment(ClrDocumentInfo clrDocumentInfo) { FileAttachment fileAttachment = new FileAttachment(); fileAttachment.filename = clrDocumentInfo.Filename; foreach (var item in new ClrDocumentAttachment().find <ClrDocumentAttachment>(new SWDbObjectQuery("DocInfoGuid", clrDocumentInfo.Guid))) { fileAttachment.file = Convert.ToBase64String(item.Attachment, 0, item.Attachment.Length); } return(fileAttachment); }
private ChargebackFillRequest GetChargebackData(MscMcomPool mscMcomPool) { var mscTransactionData = _iTransactionData.GetIssuerData(mscMcomPool); ChargebackFillRequest chargebackFillRequest = new ChargebackFillRequest(); chargebackFillRequest.documentIndicator = mscTransactionData.F072; chargebackFillRequest.messageText = mscTransactionData.F072; chargebackFillRequest.amount = mscTransactionData.F004.ToString(CultureInfo.GetCultureInfo("en-US")); chargebackFillRequest.currency = mscTransactionData.F049; chargebackFillRequest.reasonCode = mscTransactionData.F025; chargebackFillRequest.chargebackType = ApiConstants.ChargebackStatus.Chargeback; chargebackFillRequest.memo = mscTransactionData.F072; ClrDocumentInfo clrDocumentInfo = _iTransactionData.GetDocumentInfo(mscTransactionData.Guid, ApiConstants.PoolActionType.ChargebackDocument); if (clrDocumentInfo != null) { chargebackFillRequest.fileAttachment = _iTransactionData.GetAttachment(clrDocumentInfo); } return(chargebackFillRequest); }