2017-07-28 51 views
0

我在Visual Studio 2015中使用PayPal REST API。我在我的沙盒上使用PayPal存储的卡片(将令牌传递给PayPal API)获取“格式错误的请求”。 调试ID:5b98f22095ba7如何调试“格式错误的请求”?

如何在提交给PayPal时捕获该请求,以便将其与预期的请求格式进行比较?或者,有人可以指向一个工具,它会给我详细的调试ID?

谢谢! ?

详情 {} PayPal.Api.Details费 : “0.00” gift_wrap: “0.00” handling_fee: “0.00” 保险: “0.00” 航运: “0.00” shipping_discount: “0.00” 小计: “55.00” 税: “2.75”

paypalItem {} PayPal.Api.Item类 :空 货币: “CAD” 介绍: “个别课” 高度:空 长度:空 名称: “LetsRide:个人课” postback_data:空 价格: “55.00” 量: “1” SKU: “1” supplementary_data:空 税: “2.75” 网址:空 重量:空 宽度:空 amnt {PayPal.Api.Amount} 货币:? “CAD” 细节:{PayPal.Api.Details} 总: “57.75” PINFO {PayPal.Api.PayerInfo? } billing_address:null birth_date:null buyer_account_number:空 COUNTRY_CODE:空 电子邮件:空 external_remember_me_id:空 FIRST_NAME: “测试” 姓氏: “用户” middle_name:空 payer_id: “测试” 电话:空 PHONE_TYPE:空 称呼:空 shipping_address:空 后缀:空 tax_id:空 tax_id_type:空 payr {} PayPal.Api.Payer ACCOUNT_AGE:空 ACCOUNT_TYPE:空 external_selected_funding_instrum ent_type:空 funding_instruments:计数= 1 funding_option:空 funding_option_id:空 payer_info:{PayPal.Api.PayerInfo} PAYMENT_METHOD: “CREDIT_CARD” related_funding_option:空 状态:空 PHN {PayPal.Api?。电话} COUNTRY_CODE: “+1” 扩展名:空 national_number: “3066920xxx” //绝密 {} PayPal.Api.Payee电子邮件 : “有效的电子邮件地址 - 绝密” MERCHANT_ID: “有效的商户ID - 绝密” 电话:null

?付款 {PayPal.Api。付款} billing_agreement_tokens:空 购物车:空 CREATE_TIME:空 experience_profile_id:空 failed_transactions:空 FAILURE_REASON:空 ID:空 意图: “买卖” 链接:空 note_to_payer:空 收款人:{贝宝。 Api.Payee} 付款人:{PayPal.Api.Payer} payment_instruction:空 redirect_urls:空 状态:空 令牌:空 交易:计数= 1

UPDATE_TIME:空

   intentStr = "sale"; 

       // Now create Payer object and assign the fundinginstrument list to the object 
       PayerInfo pInfo = new PayerInfo(); 
       pInfo.first_name = orderMaster.FirstName; 
       pInfo.last_name = orderMaster.LastName; 
       pInfo.payer_id = user.UserName; 
       Payer payr = new Payer(); 
       payr.payer_info = pInfo; 
       payr.funding_instruments = CreatePayPalFundingInstrumentList(PPCCToken); 
       payr.payment_method = "credit_card"; 
       Phone phn = new Phone(); 
       phn.country_code = "+1"; 
       phn.national_number = userCompany.paypalPhone; 
       Payee pyee = new Payee(); 
       pyee.email = userCompany.paypalEmail; 
       pyee.merchant_id = userCompany.paypalMerchantId; 

       // finally create the payment object and assign the payer object & transaction list to it 
       payment = new Payment() 
       { 
        intent = intentStr, // `sale` or `authorize` 
        payer = payr, 
        payee = pyee, 
        transactions = GetTransactionsList(orderMaster) 
       }; 
+0

是你能够拦截与小提琴手正在发送有效载荷? – mjwills

+0

谢谢MJ - 我还没有和提琴手工作过,但肯定会投入一些时间去尝试学习如何使用它! –

回答

0

自我解决:我删除我对第三方付款创建的“收款人= pyee”部分,以及我接收到来自贝宝API更清晰的错误消息。 错误与我使用的测试信用卡有关,不支持CAD货币!

人 - 花两天时间试图调试代码!!!!!

捕获库中的不同的测试信用卡和问题解决了!

愿望贝宝可能是与他们的错误消息更清晰!或者 - 让开发人员访问调试ID详细信息。