.net-core - 无法在 .net 核心中创建/激活贝宝计划
问题描述
在pluralsight课程play-by-play-get-paid-dot-net-core-modern-payment-gateways中,我正在尝试复制贝宝订阅,但由于创建/活动计划失败而无法获得贝宝计划ID。使用 nuget 包 paypal 2.0.0-beta00。我还更新了客户端 ID 和密码。
SerializationException:期望来自命名空间''的元素'root'。遇到名称为'',命名空间''的'None'。
private async Task SeedBillingPlans()
{
var client = _clientFactory.GetClient();
foreach (var plan in BillingPlanSeed.PayPalPlans(
Url.Action("Return", "Subscription", null, Request.GetUri().Scheme),
Url.Action("Cancel", "Subscription", null, Request.GetUri().Scheme)))
{
// Create Plan
var request = new PlanCreateRequest().RequestBody(plan);
var result = await client.Execute(request);
var obj = result.Result<Plan>();
// Activate Plan
var activateRequest = new PlanUpdateRequest<Plan>(obj.Id)
.RequestBody(GetActivatePlanBody());
await client.Execute(activateRequest);
// Add to database record
var dbPlan = _dbContext.BillingPlans.FirstOrDefault(x =>
x.Name == obj.Name);
if (dbPlan != null && string.IsNullOrEmpty(dbPlan.PayPalPlanId))
{
dbPlan.PayPalPlanId = obj.Id;
await _dbContext.SaveChangesAsync();
}
}
}
项目来源:github.com/bjcull/BeerPal
解决方案
推荐阅读
- firebase - 使用 Firebase 云功能上传图片
- r - 使用客户端处理(服务器 = F)在 Shiny 应用程序中进行 DT 编辑会引发 JSON 错误
- xml - 如何使用 PowerShell 从 xml 文件的子节点获取信息
- asp.net - 哪种引用库的方式更快?
- javascript - 如何访问这个函数参数和 ES6 模块
- java - 如何解决从角度 5 到 java 休息服务调用的 POST 请求错误问题?
- javascript - Javascript比较对象
- javascript - Acrobat GST 计算
- android - 如何将 FAB 置于布局顶部
- powershell - 无法使用 Invoke-Webrequest 登录网站