예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }