Inheritance: IJsonSerializable
Beispiel #1
0
 /// <summary>
 /// Creates a new order chargeback
 /// </summary>
 /// <param name="merchantOrderId">The unique id of the order at the merchant systems</param>
 public OrderChargeback(string merchantOrderId, ChargebackDetails chargebackDetails, FulfillmentDetails fulfillment, DisputeDetails disputeDetails)
     : base(merchantOrderId)
 {
     this.Chargeback = chargebackDetails;
     this.Fulfillment = fulfillment;
     this.Dispute = disputeDetails;
 }
        private static OrderChargeback GenerateOrderChargeback(string orderNum)
        {
            var chargebackDetails = new ChargebackDetails(id: "id1234",
                                charegbackAt: new DateTime(2015, 12, 8, 14, 12, 12, DateTimeKind.Local),
                                chargebackCurrency: "USD",
                                chargebackAmount: (float)50.5,
                                reasonCode: "4863",
                                reasonDesc: "Transaction not recognised",
                                type: "cb",
                                mid: "t_123",
                                creditCardCompany: "visa",
                                respondBy: new DateTime(2016, 9, 1),
                                arn: "a123456789012bc3de45678901f23a45",
                                feeAmount: 20,
                                feeCurrency: "USD",
                                cardIssuer: "Wells Fargo Bank",
                                gateway: "braintree",
                                cardholder: "John Smith",
                                message: "Cardholder disputes quality/ mischaracterization of service/merchandise. Supply detailed refute of these claims, along with any applicable/supporting doc");

            var fulfillmentDetails = new FulfillmentDetails(
                                             fulfillmentId: "123",
                                             createdAt: new DateTime(2015, 12, 8, 14, 12, 12, DateTimeKind.Local),
                                             status: FulfillmentStatusCode.Success,
                                             lineItems: new LineItem[] { new LineItem("Bag", 10.0, 1) },
                                             trackingCompany: "TestCompany");

            var disputeDetails = new DisputeDetails(
                                        disputeType: "first_dispute",
                                        caseId: "a1234",
                                        status: "pending",
                                        issuerPocPhoneNumber: "+1-877-111-1111",
                                        disputedAt:  new DateTime(2016, 9, 15),
                                        expectedResolutionDate: new DateTime(2016, 11, 1));

            return new OrderChargeback(orderNum, chargebackDetails, fulfillmentDetails, disputeDetails);
        }