I did submit a support "question" over at https://www.paypal-techsupport.com. I was asked to provide a request/response to the API that produces the error. I chose to bypass the SDK and communicate directly with the API. Below is the request/response, where I am now getting a HTTP 500 response. REQUEST: curl -v -X POST https://api.sandbox.paypal.com/v1/payments/payment \ -H "Content-Type: application/json" \ -H "Authorization: Bearer MYTOKEN" \ -d '{ "intent": "sale", "payer": { "payment_method": "credit_card", "funding_instruments": [{ "credit_card": { "cvv2": "123", "expire_month": 12, "expire_year": 2019, "first_name": "Foo", "last_name": "Bar", "number": "VALID CC NUMBER", "type": "visa" } }] }, "transactions": [{ "amount": { "currency": "USD", "total": "2.54", "details": { "subtotal": "2.54" } }, "invoice_number": "asdf1234" }] }' RESPONSE: {"name":"INTERNAL_SERVICE_ERROR","message":"An internal service error occurred.","information_link":"https://developer.paypal.com/docs/api/payments/#errors","debug_id":"170497ba1b4"} The answer I got from Merchant Technical Support was: Direct credit card transactions are restricted using the PayPal REST integration. You will need to leverage either the Payflow gateway or Braintree Direct to process direct card transactions. You can find the notice on the following link:- https://developer.paypal.com/docs/api/payments/ Get in touch with you account manager at PayPal to discuss your business requirements and make a decision based on your use cases. I did submit a support "question" over at https://www.paypal-techsupport.com. I was asked to provide a request/response to the API that produces the error. I chose to bypass the SDK and communicate directly with the API. Below is the request/response, where I am now getting a HTTP 500 response. REQUEST: curl -v -X POST https://api.sandbox.paypal.com/v1/payments/payment \ -H "Content-Type: application/json" \ -H "Authorization: Bearer MYTOKEN" \ -d '{ "intent": "sale", "payer": { "payment_method": "credit_card", "funding_instruments": [{ "credit_card": { "cvv2": "123", "expire_month": 12, "expire_year": 2019, "first_name": "Foo", "last_name": "Bar", "number": "VALID CC NUMBER", "type": "visa" } }] }, "transactions": [{ "amount": { "currency": "USD", "total": "2.54", "details": { "subtotal": "2.54" } }, "invoice_number": "asdf1234" }] }' RESPONSE: {"name":"INTERNAL_SERVICE_ERROR","message":"An internal service error occurred.","information_link":"https://developer.paypal.com/docs/api/payments/#errors","debug_id":"170497ba1b4"} The answer I got from Merchant Technical Support was: Direct credit card transactions are restricted using the PayPal REST integration. You will need to leverage either the Payflow gateway or Braintree Direct to process direct card transactions. You can find the notice on the following link:- https://developer.paypal.com/docs/api/payments/ Get in touch with you account manager at PayPal to discuss your business requirements and make a decision based on your use cases. My Conclusions: I'm not seeing these errors in my Live account because that account is not restricted, and I've been using credit cards via the REST API for quite some time now. For some reason this un-restricted ability does not flow through to my sandbox accounts. When I create new sandbox accounts they must simply default to restricted. My guess is that PayPal is going to phase out credit card payments via the REST API in favor of some of their other offerings: Payflow or Braintree? Would be nice to have some clarification on that, or any sort of timeline. Certainly don't want this capability dissapearing from my Live account without some sort of advanced notice! Furthering my speculations it appears that the credit card samples have been removed from the .NET SDK source code in github GitHub (https://github.com/paypal/PayPal-NET-SDK/pull/276). Perhaps pp-randy knows what's up? I'm not seeing these errors in my Live account because that account is not restricted, and I've been using credit cards via the REST API for quite some time now. For some reason this un-restricted ability does not flow through to my sandbox accounts. When I create new sandbox accounts they must simply default to restricted. My guess is that PayPal is going to phase out credit card payments via the REST API in favor of some of their other offerings: Payflow or Braintree? Would be nice to have some clarification on that, or any sort of timeline. Certainly don't want this capability dissapearing from my Live account without some sort of advanced notice! Furthering my speculations it appears that the credit card samples have been removed from the .NET SDK source code in github GitHub (https://github.com/paypal/PayPal-NET-SDK/pull/276). Perhaps pp-randy knows what's up?
... View more