如何调试格式错误的请求'?

时间:2017-07-28 13:41:21

标签: c# paypal-sandbox paypal-rest-sdk malformed

我在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     类别:null     货币:" CAD"     说明:"个人课程"     height:null     长度:null     姓名:" LetsRide:个人课程"     postback_data:null     价格:" 55.00"     数量:" 1"     sku:" 1"     supplement_data:null     税:" 2.75"     url:null     重量:null     width:null ?amnt {} PayPal.Api.Amount     货币:" CAD"     详情:{PayPal.Api.Details}     总计:" 57.75" ?PINFO {} PayPal.Api.PayerInfo     billing_address:null     birth_date:null     buyer_account_number:null     country_code:null     电子邮件:null     external_remember_me_id:null     first_name:"测试"     last_name:"用户"     middle_name:null     payer_id:" test"     电话:null     phone_type:null     称呼:无效     shipping_address:null     后缀:null     tax_id:null     tax_id_type:null ?payr {} PayPal.Api.Payer     account_age:null     account_type:null     external_selected_funding_instrument_type:null     funding_instruments:Count = 1     funding_option:null     funding_option_id:null     payer_info:{PayPal.Api.PayerInfo}     payment_method:" credit_card"     related_funding_option:null     status:null ?PHN {} PayPal.Api.Phone     country_code:" + 1"     extension:null     national_number:" 3066920xxx" //编辑 {} PayPal.Api.Payee     电子邮件:"有效的电子邮件地址 - 已编辑"     merchant_id:"有效的商家ID - 已编辑"     电话:null

?付款 {} PayPal.Api.Payment     billing_agreement_tokens:null     购物车:null     create_time:null     experience_profile_id:null     failed_transactions:null     failure_reason:null     id:null     意图:"销售"     links:null     note_to_payer:null     收款人:{PayPal.Api.Payee}     付款人:{PayPal.Api.Payer}     payment_instruction:null     redirect_urls:null     state:null     token:null     交易:计数= 1

update_time:null

               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)
                };

1 个答案:

答案 0 :(得分:1)

自我解决:我删除了为第三方付款创建的'payee = pyee'部分,我收到了来自paypal api的更清晰的错误消息。 该错误与我使用的测试信用卡有关,不支持CAD货币!!

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

在保险库中捕获了不同的测试信用卡,问题解决了!

希望paypal可以更清楚地发送错误消息!或者 - 让开发人员访问Debug ID详细信息。