在已连接帐户上更新MetaData失败

时间:2017-06-23 01:05:02

标签: c# asp.net stripe-payments stripe-connect

我在Jaymedavis的stripe.net库的帮助下使用条带连接(目的地付款)。

我遇到的问题是我无法检索目标付款ID以更新已连接帐户中的元数据。以下行返回null,阻止我更新已连接帐户上的元数据。但奇怪的是,当我登录仪表板时,目的地支付ID存在。我不知道为什么我无法在代码中检索它。

电荷创建是否异步?我不确定。 Stripe的连接文档也无济于事。以下行返回null。我的代码在下面。寻求帮助。

String deschargeID = result.Transfer.DestinationPayment;

以下是我正在使用的代码

 var service = new StripeChargeService(ZambreroSecretKey);
 var result = (Stripe.StripeCharge) null;
 try {

  result = service.Create(newCharge);

  if (result.Paid) {

   //get the chargeID on the newgen account and update the metadata.
   //Returns null even though it exists in the dashboard

   String deschargeID = result.Transfer.DestinationPayment;

   var chargeService = new StripeChargeService(newgenSecretKey);
   StripeCharge charge = chargeService.Get(deschargeID);
   charge.Metadata = myDict;
   Response.Redirect("PgeCustSuccess.aspx?OrderID=" + OrderID);

  }
 } catch (StripeException stripeException) {

  Debug.WriteLine(stripeException.Message);
  stripe.Text = stripeException.Message;


 }

1 个答案:

答案 0 :(得分:1)

默认情况下,charge objecttransfer属性不是expanded,这意味着它只是一个ID为transfer object的字符串( "tr_..."),而不是完整的转移对象。

根据Stripe.net的documentation,您可以通过添加以下行来展开transfer属性:

service.ExpandTransfer = True

在发送费用创建请求之前。