我需要一些帮助来找出paypal的API,我所要做的就是在我的沙箱帐户上运行一个cc费用,我一直在查看它们的文档和代码示例,但是我现在无法找到正确的信息,比如在哪里添加沙箱端点。因此,当我运行下面的函数时,会得到以下错误:
字符串(213)“{”名称:“MALFORMED_REQUEST”,“消息”:“传入的JSON请求不映射到API请求”,"information_link":"REQUEST",“debug_id”:“6eb15180f8d92”}
这是我调用的函数:
public static function ccPayment($paymentInfo, $credentials)
{
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
$credentials['clientId'],
$credentials['secret']
)
);
$card = new CreditCard();
$card->setType("visa")
->setNumber("xxxxxxxxxxxxxxxx")
->setExpireMonth("11")
->setExpireYear("2019")
->setCvv2("012")
->setFirstName("Joe")
->setLastName("Shopper");
$fi = new FundingInstrument();
$fi->setCreditCard($card);
$payer = new Payer();
$payer->setPaymentMethod("credit_card")
->setFundingInstruments(array($fi));
$item1 = new Item();
$item1->setName('Ground Coffee 40 oz')
->setDescription('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setTax(0.3)
->setPrice(7.50);
$itemList = new ItemList();
$itemList->setItems(array($item1));
$transaction = new Transaction();
$transaction->setAmount(489)
->setItemList($itemList)
->setDescription("Payment description")
->setInvoiceNumber(uniqid());
$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setTransactions(array($transaction));
// $request = clone $payment;
try
{
$payment->create($apiContext);
}
catch (Exception $ex)
{
dd($ex->getData());
}
dd($paymentInfo);
}从早上开始就开始编码,所以我现在需要另一双眼睛,因为我看不出我做错了什么。我会感谢你的帮助。
PS。如果这是件蠢事,我很抱歉。例如:一个缺少的逗号。
谢谢。
发布于 2015-06-09 18:24:58
成功了!!以下是工作代码:
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
$credentials['clientId'],
$credentials['secret']
)
);
$apiContext->setConfig(
array(
'log.LogEnabled' => true,
'log.FileName' => '../app/storage/paypal/PayPal.log',
'log.LogLevel' => 'FINE'
)
);
$card = new CreditCard();
$card->setType("visa")
->setNumber("xxxxxxxxxxxxxxxxx")
->setExpireMonth("11")
->setExpireYear("2019")
->setCvv2("012")
->setFirstName("Joe")
->setLastName("Shopper");
$fi = new FundingInstrument();
$fi->setCreditCard($card);
$payer = new Payer();
$payer->setPaymentMethod("credit_card")
->setFundingInstruments(array($fi));
$item1 = new Item();
$item1->setName('Ground Coffee 40 oz')
->setDescription('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setPrice(49.99);
$itemList = new ItemList();
$itemList->setItems(array($item1));
$details = new Details();
$details->setSubtotal(49.99);
$amount = new Amount();
$amount->setCurrency("USD")
->setTotal(49.99)
->setDetails($details);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($itemList)
->setDescription("Payment description")
->setInvoiceNumber(uniqid());
$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setTransactions(array($transaction));
try
{
$payment->create($apiContext);
}
catch (Exception $ex)
{
dd($ex->getData());
}
dd($payment);我错过了新的金额&新的细节。此外,为了文档起见,您的货币总额必须加起来。例如:税,小计,总计。
https://stackoverflow.com/questions/30722855
复制相似问题