コード例 #1
0
ファイル: ZCreditS2S.cs プロジェクト: RcBuilder/Scripts
        /*
         *  POST {{ServerURL}}/Transaction/CommitFullTransaction
         *  H Content-Type: application/json
         *  {
         *    "TerminalNumber": "{{Terminal}}",
         *    "Password": "******",
         *    "Track2": "",
         *    "CardNumber": "4580000000000000",
         *    "CVV": "123",
         *    "ExpDate_MMYY": "0129",
         *    "TransactionSum": "1.00",
         *    "NumberOfPayments": "1",
         *    "FirstPaymentSum": "0",
         *    "OtherPaymentsSum": "0",
         *    "TransactionType": "01",
         *    "CurrencyType": "1",
         *    "CreditType": "1",
         *    "J": "0",
         *    "IsCustomerPresent": "false",
         *    "AuthNum": "",
         *    "HolderID": "123456789",
         *    "ExtraData": "ref100",
         *    "CustomerName": "Roby",
         *    "CustomerAddress": "Tel Aviv",
         *    "CustomerEmail": "*****@*****.**",
         *    "PhoneNumber": "",
         *    "ItemDescription": "Some Item",
         *    "ObeligoAction": "",
         *    "OriginalZCreditReferenceNumber": "",
         *    "TransactionUniqueIdForQuery": "",
         *    "TransactionUniqueID": "",
         *    "UseAdvancedDuplicatesCheck": "false",
         *    "AllowFullCardNumberInResponse": "true",
         *    "ShowFullCardNumberInPrint": "false"
         *  }
         */
        public ZCreditMakeTransactionResponse MakeTransaction(ZCreditMakeTransactionData TransactionData)
        {
            try
            {
                using (var client = new WebClient())
                {
                    client.Proxy    = null;
                    client.Encoding = Encoding.UTF8;

                    client.Headers.Clear();
                    client.Headers.Add("Accept", "*/*");
                    client.Headers.Add("Content-Type", "application/json");

                    var request = new ZCreditMakeTransactionRequest(TransactionData);
                    request.TerminalNumber = this.Terminal;
                    request.Password       = this.Password;

                    var payload = JsonConvert.SerializeObject(request);
                    this.WriteLog("ZCreditS2S_Payloads.txt", payload);

                    var response = client.UploadString(MAKE_TRANSACTION_ENDPOINT, payload);
                    this.WriteLog("ZCreditS2S_Responses.txt", response);

                    return(JsonConvert.DeserializeObject <ZCreditMakeTransactionResponse>(response));
                }
            }
            catch (Exception Ex) {
                return(new ZCreditMakeTransactionResponse {
                });
            }
        }
コード例 #2
0
ファイル: ZCreditS2S.cs プロジェクト: RcBuilder/Scripts
 public ZCreditMakeTransactionRequest(ZCreditMakeTransactionData TransactionData)
 {
     this.Track2           = TransactionData.Track2;
     this.CardNumber       = TransactionData.CardNumber;
     this.CVV              = TransactionData.CVV;
     this.ExpDate_MMYY     = TransactionData.ExpDate_MMYY;
     this.TransactionSum   = TransactionData.TransactionSum;
     this.NumberOfPayments = TransactionData.NumberOfPayments;
     this.FirstPaymentSum  = TransactionData.FirstPaymentSum;
     this.OtherPaymentsSum = TransactionData.OtherPaymentsSum;
     this.TransactionType  = TransactionData.TransactionType;
     this.CurrencyType     = TransactionData.CurrencyType;
     this.CreditType       = TransactionData.CreditType;
     this.J = TransactionData.J;
     this.IsCustomerPresent = TransactionData.IsCustomerPresent;
     this.AuthNum           = TransactionData.AuthNum;
     this.HolderID          = TransactionData.HolderID;
     this.ExtraData         = TransactionData.ExtraData;
     this.CustomerName      = TransactionData.CustomerName;
     this.CustomerAddress   = TransactionData.CustomerAddress;
     this.CustomerEmail     = TransactionData.CustomerEmail;
     this.PhoneNumber       = TransactionData.PhoneNumber;
     this.ItemDescription   = TransactionData.ItemDescription;
 }