diff --git a/GitVersion.yml b/GitVersion.yml
index 6979f05..4387120 100644
--- a/GitVersion.yml
+++ b/GitVersion.yml
@@ -1,5 +1,5 @@
mode: ContinuousDelivery
-next-version: 6.3.2
+next-version: 6.3.3
increment: Patch
major-version-bump-message: '\+semver:\s?(breaking|major|release)'
minor-version-bump-message: '\+semver:\s?(feat|feature|minor)'
diff --git a/src/EasyKeys.Shipping.FedEx.Shipment/Models/ShipmentDetails.cs b/src/EasyKeys.Shipping.FedEx.Shipment/Models/ShipmentDetails.cs
index 926924b..5992532 100644
--- a/src/EasyKeys.Shipping.FedEx.Shipment/Models/ShipmentDetails.cs
+++ b/src/EasyKeys.Shipping.FedEx.Shipment/Models/ShipmentDetails.cs
@@ -92,6 +92,12 @@ public class ShipmentDetails
///
public FedExPaymentType PaymentType { get; set; } = FedExPaymentType.Sender;
+ ///
+ /// Default payment type would be recipient unless its a COD.
+ /// Sender,ThirdParty,Recipient,Account,Collect.
+ ///
+ public FedExPaymentType CustomsPaymentType { get; set; } = FedExPaymentType.Recipient;
+
///
/// Collect on delivery is defaulted to false.
///
diff --git a/src/EasyKeys.Shipping.FedEx.Shipment/RestApi/Impl/FedExShipmentProvider.cs b/src/EasyKeys.Shipping.FedEx.Shipment/RestApi/Impl/FedExShipmentProvider.cs
index 11dc22e..6c2a98a 100644
--- a/src/EasyKeys.Shipping.FedEx.Shipment/RestApi/Impl/FedExShipmentProvider.cs
+++ b/src/EasyKeys.Shipping.FedEx.Shipment/RestApi/Impl/FedExShipmentProvider.cs
@@ -296,7 +296,8 @@ public async Task CreateShipmentAsync(FedExServiceType serviceTyp
}).ToList()
};
- switch (shipmentDetails.PaymentType.Name)
+ // customs payment type
+ switch (shipmentDetails.CustomsPaymentType.Name)
{
case "SENDER":
shipmentRequest.RequestedShipment.CustomsClearanceDetail.DutiesPayment = new Payment_1
@@ -320,6 +321,29 @@ public async Task CreateShipmentAsync(FedExServiceType serviceTyp
}
};
break;
+
+ case "THIRD_PARTY":
+ shipmentRequest.RequestedShipment.ShippingChargesPayment = new Payment
+ {
+ PaymentType = PaymentType.THIRD_PARTY,
+ Payor = new Payor
+ {
+ ResponsibleParty = new ResponsiblePartyParty
+ {
+ AccountNumber = new PartyAccountNumber
+ {
+ Value = shipmentDetails.AccountNumber
+ }
+ }
+ }
+ };
+ break;
+ default:
+ shipmentRequest.RequestedShipment.CustomsClearanceDetail.DutiesPayment = new Payment_1
+ {
+ PaymentType = Payment_1PaymentType.RECIPIENT
+ };
+ break;
}
}
@@ -347,6 +371,23 @@ public async Task CreateShipmentAsync(FedExServiceType serviceTyp
}
};
break;
+
+ case "THIRD_PARTY":
+ shipmentRequest.RequestedShipment.ShippingChargesPayment = new Payment
+ {
+ PaymentType = PaymentType.THIRD_PARTY,
+ Payor = new Payor
+ {
+ ResponsibleParty = new ResponsiblePartyParty
+ {
+ AccountNumber = new PartyAccountNumber
+ {
+ Value = shipmentDetails.AccountNumber
+ }
+ }
+ }
+ };
+ break;
}
var token = await _authService.GetTokenAsync(cancellationToken);