我们正在创建一个Square 2.0交易,但是当我们登录我们的Square帐户时,客户名称/地址信息丢失了。 我们正在创建一个客户地址对象并填充属性,但它们未显示在 Square 控制台中。
这是我们的代码:
using Square.Connect.Api;
using Square.Connect.Model;
using Square.Connect.Client;
private static bool RunCreditCardSquare(int? adminId, Models.ReservationReceivePaymentViewModel payment, Models.GuestViewModel guest, String ipaddress, String orderdescription, int reservationId, decimal amountDue)
{
Data.BigRigEntities db = new Data.BigRigEntities();
TransactionsApi transactionsApi = new TransactionsApi();
Square.Connect.Client.Configuration.Default.AccessToken = accessToken;
string uuid = Guid.NewGuid().ToString();
Money amount = new Money((long)amountDue * 100, Money.CurrencyEnum.USD);
// (https://docs.connect.squareup.com/payments/transactions/overview#mpt-overview).
ChargeRequest body = new ChargeRequest(AmountMoney: amount, IdempotencyKey: uuid, CardNonce: payment.CardNonce);
Square.Connect.Model.Address.CountryEnum GuestCountry = Square.Connect.Model.Address.CountryEnum.US;
body.ShippingAddress = new Square.Connect.Model.Address(guest.Address1, "", "", guest.City, "", "", "", "", "", "", guest.PostalCode, GuestCountry, guest.FirstName, guest.LastName, "");
body.BillingAddress = new Square.Connect.Model.Address(guest.Address1, "", "", guest.City, "", "", "", "", "", "", guest.PostalCode, GuestCountry, guest.FirstName, guest.LastName, "");
body.ReferenceId = reservationId.ToString() ;
body.CardNonce = payment.CardNonce;
body.BuyerEmailAddress = guest.EmailAddress;
body.Note = "Conf #:" + reservationId.ToString() + " - " + orderdescription;
var charged = false;
var transactionid = "";
var error = "";
decimal chargeamount = 0.0M;
try
{
var response = transactionsApi.Charge(LocationId, body);
transactionid = response.Transaction.Id;
chargeamount = (decimal) (response.Transaction.Tenders[0].AmountMoney.Amount/100) ;
charged = true;
}
catch (ApiException e)
{
error = e.Message;
}
送货
地址和账单地址只能通过API获得,而不是方形仪表板。要在仪表板中查看附加到客户的此信息,您应该先创建客户,然后在收费时传递customer_id
。