php 接口怎么响应,Stripe PHP API方法响应的结构是什么?

我正在进行Stripe集成,我对从

PHP API获得的实际响应感到困惑.我开始相信API参考是准确的,并且响应将是每个方法所示的JSON字符串.我很快发现了显着的差异.大多数情况下,JSON响应中缺少id字段.此外,响应似乎是一个字符串,一个对象,也许还有其他一些结构,所有这些都在同一时间.

这是我的调试代码.我使用的是最新的Stripe PHP库,版本为1.7.15.

function var_dump_ret($mixed=null)

{

ob_start();

var_dump($mixed);

$content=ob_get_contents();

ob_end_clean();

return($content);

}

$token=$_POST['stripeToken'];

$customer=Stripe_Customer::create(array(

"card"=>$token,

"plan"=>"agency")

);

$custVarDump=var_dump_ret($customer);

$cDecoded=json_decode($customer);

$Debug="Invidual attributes of JSON decoded customer object:"._EOL;

$Debug.="object:".$cDecoded->object._EOL;

$Debug.="created:".$cDecoded->created._EOL;

$Debug.="id:".$cDecoded->id._EOL;

$Debug.="livemode:".$cDecoded->livemode._EOL;

$Debug.="description:".$cDecoded->description._EOL;

$Debug.="active_card.object:".$cDecoded->active_card->object._EOL;

$Debug.="active_card.last4:".$cDecoded->active_card->last4._EOL;

$Debug.="active_card.type:".$cDecoded->active_card->type._EOL;

$Debug.="active_card.exp_month:".$cDecoded->active_card->exp_month._EOL;

$Debug.="active_card.exp_year:".$cDecoded->active_card->exp_year._EOL;

$Debug.="active_card.fingerprint:".$cDecoded->active_card->fingerprint._EOL;

$Debug.="active_card.country:".$cDecoded->active_card->country._EOL;

$Debug.="active_card.name:".$cDecoded->active_card->name._EOL;

$Debug.="active_card.address_line1:".$cDecoded->active_card->address_line1._EOL;

$Debug.="active_card.address_line2:".$cDecoded->active_card->address_line2._EOL;

$Debug.="active_card.address_city:".$cDecoded->active_card->address_city._EOL;

$Debug.="active_card.address_state:".$cDecoded->active_card->address_state._EOL;

$Debug.="active_card.address_zip:".$cDecoded->active_card->address_zip._EOL;

$Debug.="active_card.address_country:".$cDecoded->active_card->address_country._EOL;

$Debug.="active_card.cvc_check:".$cDecoded->active_card->cvc_check._EOL;

$Debug.="active_card.address_line1_check:".$cDecoded->active_card->address_line1_check._EOL;

$Debug.="active_card.address_zip_check:".$cDecoded->active_card->address_zip_check._EOL;

$Debug.="email:".$cDecoded->email._EOL;

$Debug.="delinquent:".$cDecoded->delinquent._EOL;

//$Debug.="subscription:".$cDecoded->subscription._EOL;

$Debug.="discount:".$cDecoded->discount._EOL;

$Debug.="account_balance:".$cDecoded->account_balance._EOL;

$Debug.="unaltered response from Stripe_Customer::create:"._EOL.$customer._EOL.

"var dump of response:"._EOL.$custVarDump._EOL.

"print_r of json_decode of response:"._EOL.print_r($cDecoded,true)._EOL;

file_put_contents(_LOGFILE,$Debug,FILE_APPEND);

以下是我的调试文件的内容,用于JSON解码的客户对象的invidual属性.执行时,代码发布了通知.

注意:未定义的属性:第51行的stripe / subscription.php中的stdClass :: $id

另请注意,由于stdClass的致命错误,我必须注释掉添加’subscription’到调试字符串的行.

object:customer

created:1365951909

id:

livemode:

description:

active_card.object:card

active_card.last4:4242

active_card.type:Visa

active_card.exp_month:7

active_card.exp_year:2013

active_card.fingerprint:WTXPLgKDCXyp9xpD

active_card.country:US

active_card.name:charlie

active_card.address_line1:

active_card.address_line2:

active_card.address_city:

active_card.address_state:

active_card.address_zip:

active_card.address_country:

active_card.cvc_check:pass

active_card.address_line1_check:

active_card.address_zip_check:

email:

delinquent:

discount:

account_balance:0

最值得注意的是客户ID.它在JSON响应中不存在.但是,如某些Stripe示例程序中所示,可以使用$customer-> id访问它.此外,var_dump输出表明在我无法弄清楚的结构中存在更多的属性.整个调试文件是在http://www.helioza.com/stripe/debug.txt.我只显示了客户创建方法,但我遇到了类似的发票问题,并且无法在Stripe_Invoice :: all或Stripe_Invoice ::即将发布的响应中的任何位置找到发票ID.

问题

1)Stripe_Customer :: create返回的值如何同时是字符串和对象?

2)在哪里可以找到描述API方法返回值的文档,包括如何访问每个属性?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460122.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unix-ln 命令

指令名称 : ln 使用权限 :所有使用者 使用方式 : ln [options] source dist, 其中 option 的格式为 : [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--] 说明 : Linux/Unix 档案系统中,有所谓的链接(link)&am…

jQuery 1

<!DOCTYPE html> <html lang"zh-cn"> <head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1"><title>jQuery鼠标事件</title><script src"…

javascript php 性能,浅谈页面装载js及性能分析方法_javascript技巧

一、装载先装载静态页面的引用js文件&#xff0c;然后查找引用文件中是否包含onload函数&#xff0c;比如main.js中包含onload函数&#xff0c;在main.js中查找是否有对其他js文件的引用&#xff0c;优先装载引用js文件&#xff0c;被引用中文件的装载顺序和main.js的顺序一致。…

python计算机视觉2:图像边缘检测

我是一名初学者&#xff0c;如果你发现文中有错误&#xff0c;请留言告诉我&#xff0c;谢谢 如果需要检测到图像里面的边缘&#xff0c;首先我们需要知道边缘处具有什么特征。 对于一幅灰度图像来说&#xff0c;边缘两边的灰度值肯定不相同&#xff0c;这样我们才能分辨出哪里…

Java集合---Arrays类源码解析

一、Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序。其中主要分为Primitive(8种基本类型)和Object两大类。 基本类型&#xff1a;采用调优的快速排序&#xff1b; 对象类型&#xff1a;采用改进的归并排序。 1、对于基本类型源码分析如下&#xff08;以int[]为例…

oracle12c多个pdb,ProxmoxVE 之 oracle12C 多CDB和PDB

上面左边是我的个人微信&#xff0c;如需进一步沟通&#xff0c;请加微信。 右边是我的公众号“Openstack私有云”&#xff0c;如有兴趣&#xff0c;请关注。继上次在PVE环境上搭建了oracle12C RAC环境(请参考博文“ProxmoxVE 之 安装oracle12C rac集群”)并且安装使用CDB和PD…

【Pascal's Triangle II 】cpp

题目&#xff1a; Given an index k, return the kth row of the Pascals triangle. For example, given k 3,Return [1,3,3,1]. Note:Could you optimize your algorithm to use only O(k) extra space? 代码&#xff1a; class Solution { public:vector<int> getRow…

【DP】HDU 2189 悼念512汶川大地震遇难同胞——来生一起走

打一个小于150的素数表 为了分成的组的人数不重复用dp[i][j] 表示 i表示i个人 j表示分成的组内的最大素数序号 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <string> #include <iostream> #…

oracle高资源消耗sql,Oracle高资源消耗SQL语句定位

Oracle SQL语句资源消耗监控最常用的系统视图有v$sql、v$sqlarea、v$sqltext和v$session。本文我们先了解这些视图的作用与区别&#xff0c;然后了解如何定位高资源消耗SQL语句&#xff0c;最后再了解一下各视图字段具体含义。相关系统视图功能与区别v$sql和v$sqlarea基本相同&…

JavaScript动画知多少?

今天&#xff0c;小学生以自己浅薄的见地&#xff0c;在前辈大能的基础上写这篇文章&#xff0c;希望给大家打开一扇窥探JavaScript&#xff08;以下简称JS&#xff09;动画的窗户。 JS如何制造出动画效果&#xff1f; 结合浏览器提供的 setInterval 或 setTimeout API&#xf…

Socket网络编程--简单Web服务器(6)

本来是想实现ssl连接的&#xff0c;但是弄了好久都不成功&#xff0c;就索性不做了&#xff0c;等以后有能力再做了。所以这一小节就是本次的最后一节了。就简单的说几个注意点。 1.加个配置文件 使用单例模式&#xff0c;使用一个类&#xff0c;该类保存一些信息&#xff0c;例…

postgresql调优

http://blog.pgaddict.com/posts/performance-since-postgresql-7-4-to-9-4-pgbench硬件和系统配置操作系统Ubuntu13.04系统位数64CPUIntel(R) Core(TM)2 Duo CPU内存4G硬盘Seagate ST2000DM001-1CH164测试工具PostgreSQL-9.1.11测试工具工具名称pgbench数据量200W&#xff08;…

操作系统--进程状态切换以及cpu调度(转)

http://www.cnblogs.com/coder2012/p/3204730.html 进程的状态转换 进程在运行中不断地改变其运行状态。通常&#xff0c;一个运行进程必须具有以下三种基本状态。 进程状态 执行态run&#xff1a;进程正在使用CPU等待态wait&#xff1a;进程正在等待I/O完成&#xff0c;不在使…

oracle打开当前表的编辑,oracle sqlplus常用命令

Oracle sqlplus 常用命令1、查看当前库的所有数据表&#xff1a;SQL> select TABLE_NAME from all_tables;select * from all_tables;SQL> select table_name from all_tables where table_name like ‘u’; TABLE_NAME———————————————default_auditing_o…

在Exchange 2010中重建Exchange安全组

问题:有时候&#xff0c;重新安装Exchange 2010会corrupt掉Exchange安全组&#xff0c;或者出现重复的组。用户在这种情况下会出现访问被拒的情况。分析:我们可以删掉这些安全组&#xff0c;然后最这些安全组进行重建&#xff1a;当你prepare ad的时候&#xff0c;由于OtherWel…

1023:坑爹的黑店

题目描述 今天小明去了一个风景如画的地方散心&#xff0c;但是自己带的饮料喝完了&#xff0c;小明口渴难耐&#xff0c;见不远处有家小商店&#xff0c;于是跑去买饮料。小明&#xff1a;“我要买饮料&#xff01;”店主&#xff1a;“我们这里有三种饮料&#xff0c;矿泉水1…

php判断电脑浏览器模拟手机访问网页,在PC上测试移动端网站和模拟手机浏览器的5大方法...

查了很多资料&#xff0c;尝试了大部分方法&#xff0c;下面将这一天的努力总结下分享给大家&#xff0c;也让大家免去看那么多文章&#xff0c;以下介绍的方法&#xff0c;都是本人亲自测试成功的方法&#xff0c;测试环境winxp。一、Chrome*浏览器 chrome模拟手机总共有四种方…

带弹出列表的EditText

最近做的一个Andriod里有一个这个要求&#xff0c;一个东西需要输入&#xff0c;但同时可以在列表直接选择。看到这个需求&#xff0c;瞬间想到了QQ的登录界面&#xff0c;那个账号输入的控件正式我所需要的。 这个账号输入框右边有一个按钮&#xff0c;点击可以显示一个下拉列…

SICP第三章题解

目录 SICP第三章题解ex3-17ex3-18ex3-19队列ex3-21ex3-22ex3-24ex3-253.4 并发&#xff1a;时间是一个本质问题ex3-383.4.2 控制并发的机制ex3-39ex3-41ex3-42串行化、序列化ex3-44串行化的实现ex3-47死锁3.5 流ex3-50序列加速器SICP第三章题解 标签&#xff08;空格分隔&#…

linux cp 目录不存在自动创建,linux – 如果不存在,如何cp文件和创建目录?

我想将svn存储库中的修改文件复制到另一个目录,同时保留其目录结构.在阅读awk和xargs manpage之后,我找到了一种方法来获取更改的文件名,如下所示&#xff1a;$svn status -q | awk { print $2 } | xargs -d \\n -I {} cp {} /tmp/xen/但问题是以这种方式不保留目录结构,我想复…