首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Paypal CC直接付款错误

问Paypal CC直接付款错误
EN

Stack Overflow用户
提问于 2015-06-09 04:10:17
回答 1查看 92关注 0票数 0

我需要一些帮助来找出paypal的API,我所要做的就是在我的沙箱帐户上运行一个cc费用,我一直在查看它们的文档和代码示例,但是我现在无法找到正确的信息,比如在哪里添加沙箱端点。因此,当我运行下面的函数时,会得到以下错误:

字符串(213)“{”名称:“MALFORMED_REQUEST”,“消息”:“传入的JSON请求不映射到API请求”,"information_link":"REQUEST",“debug_id”:“6eb15180f8d92”}

这是我调用的函数:

代码语言:javascript
复制
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。如果这是件蠢事,我很抱歉。例如:一个缺少的逗号。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-09 18:24:58

成功了!!以下是工作代码:

代码语言:javascript
复制
$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);

我错过了新的金额&新的细节。此外,为了文档起见,您的货币总额必须加起来。例如:税,小计,总计。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30722855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档