php api json查错,PHP Paypal REST API - 错误:JSON解析错误:意外的EOF
我正在使用以下API代码进行高级PayPal集成:
// # Create Payment using PayPal as payment method
// This sample code demonstrates how you can process a
// PayPal Account based Payment.
// API used: /v1/payments/payment
require __DIR__ . '/bootstrap.php';
use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction;
// ### Payer
// A resource representing a Payer that funds a payment
// For paypal account payments, set payment method
// to 'paypal'.
$payer = new Payer();
$payer->setPaymentMethod("paypal");
// ### Itemized information
// (Optional) Lets you specify item wise
// information
$item1 = new Item();
$item1->setName('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setSku("123123") // Similar to `item_number` in Classic API
->setPrice(7.5);
$item2 = new Item();
$item2->setName('Granola bars')
->setCurrency('USD')
->setQuantity(5)
->setSku("321321") // Similar to `item_number` in Classic API
->setPrice(2);
$itemList = new ItemList();
$itemList->setItems(array($item1, $item2));
// ### Additional payment details
// Use this optional field to set additional
// payment information such as tax, shipping
// charges etc.
$details = new Details();
$details->setShipping(1.2)
->setTax(1.3)
->setSubtotal(17.50);
// ### Amount
// Lets you specify a payment amount.
// You can also specify additional details
// such as shipping, tax.
$amount = new Amount();
$amount->setCurrency("USD")
->setTotal(20)
->setDetails($details);
// ### Transaction
// A transaction defines the contract of a
// payment - what is the payment for and who
// is fulfilling it.
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($itemList)
->setDescription("Payment description")
->setInvoiceNumber(uniqid());
// ### Redirect urls
// Set the urls that the buyer must be redirected to after
// payment approval/ cancellation.
$baseUrl = getBaseUrl();
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("$baseUrl/ExecutePayment.php?success=true")
->setCancelUrl("$baseUrl/ExecutePayment.php?success=false");
// ### Payment
// A Payment Resource; create one using
// the above types and intent set to 'sale'
$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));
// For Sample Purposes Only.
$request = clone $payment;
// ### Create Payment
// Create a payment by calling the 'create' method
// passing it a valid apiContext.
// (See bootstrap.php for more on `ApiContext`)
// The return object contains the state and the
// url to which the buyer must be redirected to
// for payment approval
try {
$payment->create($apiContext);
} catch (Exception $ex) {
exit(1);
}
// ### Get redirect url
// The API response provides the url that you must redirect
// the buyer to. Retrieve the url from the $payment->getApprovalLink()
// method
$approvalUrl = $payment->getApprovalLink();
return $payment;我带有checkout.js的html文件:
paypal.Button.render({
env: 'sandbox',
payment: function(resolve, reject) {
var CREATE_PAYMENT_URL = '/paypal/CreatePaymentUsingPayPal.php';
return paypal.request.post(CREATE_PAYMENT_URL)
.then(function(data) { resolve(data.paymentID); })
.catch(function(err) { reject(err); });
},
onAuthorize: function(data) {
var EXECUTE_PAYMENT_URL = '/paypal/ExecutePayment.php';
return paypal.request.post(EXECUTE_PAYMENT_URL,
{ paymentID: data.paymentID, payerID: data.payerID })
.then(function(data) { /* Go to a success page */ })
.catch(function(err) { /* Go to an error page */ });
}
}, '#paypal-button-server');
Paypal:
当我尝试通过点击paypal按钮进行快速结账时,我会得到:
Error: JSON Parse error: Unexpected EOF
如果我使用PayPal API,json会出现什么问题? (我的脚本基于Paypal API示例。)
$ apiContext和getBaseUrl()方法在bootstrap.php中定义。
日志:
04-2017 03:26:31] PayPal\Core\PayPalHttpConnection : INFO: Response Status : 201
[27-04-2017 03:26:31] PayPal\Core\PayPalHttpConnection : DEBUG: Response Headers : HTTP/1.1 201 Created, Date: Thu, 27 Apr 2017 15:26:31 GMT, Server: Apache, paypal-debug-id: a201c7bc10e43, Content-Language: *, Paypal-Debug-Id: a201c7bc10e43, Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D1880%26app%3Dplatformapiserv%26TIME%3D2802647641%26HTTP_X_PP_AZ_LOCATOR%3D; Expires=Thu, 27 Apr 2017 15:56:31 GMT; domain=.paypal.com; path=/; Secure; HttpOnly, Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT, Vary: Authorization, Content-Length: 967, Connection: close, Content-Type: application/json, ,
[27-04-2017 03:26:31] PayPal\Core\PayPalHttpConnection : DEBUG: Response Data : {"id":"PAY-1KU75701VG630150ALEBA3JY","intent":"sale","state":"created","payer":{"payment_method":"paypal"},"transactions":[{"amount":{"total":"20.00","currency":"USD","details":{"subtotal":"17.50","tax":"1.30","shipping":"1.20"}},"description":"Payment description","invoice_number":"59020da6c110b","item_list":{"items":[{"name":"Ground Coffee 40 oz","sku":"123123","price":"7.50","currency":"USD","quantity":1},{"name":"Granola bars","sku":"321321","price":"2.00","currency":"USD","quantity":5}]},"related_resources":[]}],"create_time":"2017-04-27T15:26:31Z","links":[{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-1KU75701VG630150ALEBA3JY","rel":"self","method":"GET"},{"href":"https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-8JM45688MM601683H","rel":"approval_url","method":"REDIRECT"},{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-1KU75701VG630150ALEBA3JY/execute","rel":"execute","method":"POST"}]}
php api json查错,PHP Paypal REST API - 错误:JSON解析错误:意外的EOF相关推荐
- php编程查错,盘点PHP编程常见失误
变量声明 如果在一条语句中声明一个变量,如下所示:$var='value';编译器首先会求出语句右半部分的值,恰恰正是语句的这一部分常常会引发错误.如果使用的语法不正确,就会出现解析错误. 解析错误 ...
- 如何安装kaggle API下载数据 及报错OSError: Could not find kaggle.json. Make sure it‘s located in /home/user/解决办法
如何安装kaggle API下载数据 及报错OSError: Could not find kaggle.json. Make sure it's located /解决办法 C:\Users\pc& ...
- VB速查大全(数据库、表格及报表编程) ★ VB错误处理,ado常见错误,VB数据类型等,网上有很多教程是错的,强烈建议看此文
■ 学新的编程语言先仔细看该语言案例教程或从入门到精通的书.对具体语句.函数及可使用对象不了解或忘记的,可在该编程语言的"参考手册"中检索. <如果资料为电子书时,即使不知道 ...
- Paypal REST API Java 版 PC端商城支付接口对接。
引言: 同类文借鉴链接:http://blog.csdn.net/change_on/article/details/73881791(对此博主万分感谢) Paypal账号注册网址:https://w ...
- python快递费用计算_python调用快递鸟api实现查快递
python调用快递鸟api实现查快递 由于我们快递信息是好多平台得,所以说需要一个能去某一个集成到一块得地方查询,那么我用的是快递鸟. 进去注册.登录之后,购买即时查询的业务(免费版,一天500次) ...
- paypal开发整理文档(14)——PayPal Orders API整理
官方文档地址:https://developer.paypal.com/docs/api/orders/v2/ 目录 Orders 1. Create Order - 创建订单 Header para ...
- python爬取有道词典json报错,求帮助!
python爬取有道词典json报错,求帮助! import urllib.request import urllib.parse import json import time import ran ...
- wps解析json数据_通过WordPress HTTP API 获取json内容并解析
WordPress 4.0的一个亮点就是JSON API的加入,今天我们提前来看看怎么获取JSON的内容并显示出来.过程就是用PHP获取远程JSON的内容,然后把获取到的JSON转化为PHP对象,然后 ...
- (五)stm32工程代码HardFault异常查错调试方法
(五)stm32工程代码HardFault异常查错调试方法 参考文章: (1)(五)stm32工程代码HardFault异常查错调试方法 (2)https://www.cnblogs.com/zhan ...
最新文章
- php从数据库读取中文显示问号??的解决办法
- eclipse 中配置maven环境
- 谈谈机器学习的基本问题,不谈数学!
- SecureCRT自动保存窗口数据到文件,自动保存日志,每行添加时间戳
- 循环彩灯实验c语言程序,实验3LED指示灯循环控制.doc
- python实现qq登录界面_使用Python编写一个QQ办公版的图形登录界面!
- 【OpenCV】OpenCV函数精讲之 -- 命名空间
- android 2.3 otg,学会使用手机的OTG功能-事半功倍-系列评测2
- 为什么前端工程师薪资越来越高?
- android spp协议,Android蓝牙开发SPP协议通信
- 开源Scout攻击检测工具
- 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_12-MongoDb入门-基础概念...
- java类后面的尖括号_泛型 - Java中的T(尖括号)是什么意思?
- C++ 双声道PCM音频分成单声道音频
- C语言文件加密解密软件
- AUTOCAD--实时缩放
- u盘的大小在计算机无法显示,Win10电脑插入U盘后没有显示可用容量打不开无法读取如何解决...
- 台式计算机检测不到无线网卡,台式机检测不到无线网卡怎么办
- linux鼠标手势,Vivaldi 1.2 发布,定制鼠标手势
- 操作手册与用户手册的区别