我正在尝试使用付款方式创建结算协议:信用卡。
这是我的代码:
public void CreateBillingAgreement()
{
var config = ConfigManager.Instance.GetProperties();
var accessToken = new OAuthTokenCredential(config).GetAccessToken();
var apiContext = new APIContext(accessToken);
//注意:信用卡付款的结算协议在创建时自动执行。用户无需批准协议或执行协议。
var credit_card = new CreditCard()
{
billing_address = new Address()
{
city = "Johnstown",
country_code = "US",
line1 = "52 N Main ST",
postal_code = "43210",
state = "OH"
},
cvv2 = "874",
first_name = "Test",
last_name = "abc",
expire_month = **,
expire_year = ****,
number = "********",
type = "visa"
};
List<FundingInstrument> funding_instruments = new List<FundingInstrument>();
var fund = new FundingInstrument
{
credit_card = credit_card
};
funding_instruments.Add(fund);
var payer = new Payer
{
payment_method = "credit_card",
funding_instruments = funding_instruments
};
var shipping_address = new ShippingAddress
{
line1 = "1234",
city = "California",
state = "California",
postal_code = "95070",
country_code = "US"
};
string Date = DateTime.Now.ToString("yyyy-MM-ddTHH:MM:ssZ");
//Make API call
var agreement = new Agreement
{
name = "T-Shirt of the Month Club Agreement",
description = "Agreement for T-Shirt of the Month Club Plan",
start_date = Date,
plan = new Plan
{
id = "P-*****************"
},
payer = payer,
shipping_address = shipping_address
};
var CreateExecuteAgreement = agreement.Create(apiContext);
但是得到了这个错误,
// {“name”:“DPRP_DISABLED”,“message”:“DPRP已禁用此功能 商家 “” information_link。 “:”https://developer.paypal.com/webapps/developer/docs/api/#DPRP_DISABLED”, “debug_id”: “********”} }
答案 0 :(得分:1)
DPRP = DirectPayment定期付款。这是非常具体的。
要使用此功能,您需要使用&#34; PayPal网站付款专业版3.0&#34;,您通常会使用DoDirectPayment API处理信用卡,每月30美元。
最重要的是,您需要添加定期付款,然后您将使用CreateRecurringPaymentsProfile API直接包含信用卡详细信息(这必须是您正在使用的SDK正在执行的操作)。这被认为是DPRP,除了Pro。
之外,这还需要额外的30美元/月许多人感到困惑,因为如果您注册&#34; Payments Pro Recurring Billing&#34;他们可能会让你进入PayFlow版本,在这种情况下你需要使用PayFlow API而不是DoDirectPayment / CreateRecurringPaymentsProfile。
因此,您需要做的第一件事就是您正在使用哪个版本的Payments Pro,然后验证您是否已启用定期付款/结算。