Paypal:PHP SDK错误传入的JSON请求未映射到API请求
我正在使用
PHP Paypal SDK:
https://github.com/paypal/PayPal-PHP-SDK
提到PayPal REST API through PHP SDK return “Incoming JSON request does not map to API request” 继续https://stackoverflow.com/questions/39827032/paypal-how-to-get-payment-id-on-basis-of-transaction-id 根据已有的交易ID,需要获得付款ID 我试过下面的代码 require __DIR__ . '/bootstrap.php'; use PayPalApiAmount; use PayPalApiDetails; use PayPalApiItem; use PayPalApiItemList; use PayPalApiCreditCard; use PayPalApiPayer; use PayPalApiPayment; use PayPalApiFundingInstrument; use PayPalApiTransaction; // Extra Code use PayPalApiPaymentDetail; $payer = new Payer(); $payer->setPaymentMethod('paypal'); $transaction = new PaymentDetail( '{ "method" : "CASH","date" : "2014-07-06 03:30:00 PST","note" : "Cash received." }' ); $transaction->setTransactionId("3NT32794KF4824703"); $payment = new Payment(); $payment->setIntent("sale") ->setPayer($payer) ->setTransactions(array($transaction)); // For Sample Purposes Only. $request = clone $payment; try { $payment->create($apiContext); } catch (PayPalExceptionPayPalConnectionException $ex) { echo $ex->getData(); } echo "<pre>"; print_r($payment); exit; 当我运行上面的代码时,它给出了以下类型的错误 {"name":"MALFORMED_REQUEST","message":"Incoming JSON request does not map to API request","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST","debug_id":"aa8bfa2a41f1f"} PayPalApiPayment Object ( [_propMap:PayPalCommonPayPalModel:private] => Array ( [intent] => sale [payer] => PayPalApiPayer Object ( [_propMap:PayPalCommonPayPalModel:private] => Array ( [payment_method] => paypal ) ) [transactions] => Array ( [0] => PayPalApiPaymentDetail Object ( [_propMap:PayPalCommonPayPalModel:private] => Array ( [method] => CASH [date] => 2014-07-06 03:30:00 PST [note] => Cash received. [transaction_id] => 3NT32794KF4824703 ) ) ) ) ) 如何解决上述错误?请指导 来自Paypal技术支持的回复
需要实现:付款完成后,将保持不变. X天后,它将被处理.处理金额将从客户的账户中扣除. 解决方法
首先,您使用付款创建请求
$payment = new Payment(); $payment->setIntent("sale") ->setPayer($payer) ->setRedirectUrls($redirectUrls) ->setTransactions(array($transaction)); $payment->create($apiContext); >在创建回复中,您将获得“apporval url”,此批准网址用于向用户付款. $execution = new PaymentExecution(); $execution->setPayerId($da['PayerID']); $apiContext=$this->apicontext(); $res = $payment->execute($execution,$apiContext); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |