首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >条带连接应用编程接口更新PaymentIntent

条带连接应用编程接口更新PaymentIntent
EN

Stack Overflow用户
提问于 2019-07-11 08:03:30
回答 1查看 432关注 0票数 1

我正在我的应用程序接口中使用条带连接,我想要更新现有的paymentIntent。API的官方库提供了这些方法。

代码语言:javascript
复制
public PaymentIntent Get(string paymentIntentId, 
    PaymentIntentGetOptions options = null, RequestOptions requestOptions = null)
public PaymentIntent Update(string paymentIntentId, 
    PaymentIntentUpdateOptions options, RequestOptions requestOptions = null);

我想要更新资源的唯一一件事就是目的地,所以我在意识到没有简单的方法之前就开始更新了:

代码语言:javascript
复制
var paymentIntentService = new PaymentIntentService();
var paymentIntent = paymentIntentService.Get(transaction.ExternalTransactionId);

if (null != destinationStripeAccount)
{
    paymentIntent.TransferData.DestinationId = destinationStripeAccount.AccountId;
}

//This takes in a PaymentIntentUpdateOptions instead of a paymentIntent WTF
paymentIntentService.Update(paymentIntent.Id, new PaymentIntentUpdateOptions {  });

PaymentIntent不是PaymentIntentUpdate选项,因此我需要将所有值映射到另一个值。我希望不需要安装额外的依赖项,比如AutoMapper,手动映射字段将是一件麻烦的事情。

有没有人知道有没有一种只更新目的地的方法,或者一种更新付款意向的简单方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-11 08:45:26

因为根据文档,大多数成员都是可选的,所以我相信您只需要向options对象提供需要更改/更新的内容。

代码语言:javascript
复制
var paymentIntentService = new PaymentIntentService();
var paymentIntent = paymentIntentService.Get(transaction.ExternalTransactionId);

if (null != destinationStripeAccount) {
    var options = new PaymentIntentUpdateOptions() {
        TransferData = new PaymentIntentTransferDataOptions {
            Destination = destinationStripeAccount.AccountId
        }
    };
    paymentIntentService.Update(paymentIntent.Id, options);
}

参考PaymentIntentUpdateOptions.TransferData (GitHub)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56980060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档