我和贝宝做了一个整合。我正在为Java使用REST API。目前,我有一个问题与未决付款。当我查找支付(https://api.paypal.com/v1/payments/payment/{paymentId})到沙箱环境来检查支付状态时,响应是不同的。当我以卖方身份批准付款时,付款处于状态
已核准
已完成的示例Respose:{“ID”:“支付-5YK922393D847794YKER7MUI”,“create_time”:“2013-02-19T22:01:53Z”,“update_time”:“2013-02-19T22:01:55Z”,“状态”:“未决”,“意图”:“销售”,“付款人”:{“付款方法”:“Credit_Card”,“Funding_Instruments”:[{“Credit_Card”:{“类型”:“MasterCard”,“Number”:“XXXXXXXXXX5559”,“Expire_Month”:“2”,“Expire_Year”:“2018”,“First_Name”:“Betsy”,“Last_Name”:“Buyer”}}“}}”交易“:[{”金额“:{”Total“:”7.47“,”Currency“:”Usd“,”Details“:{”Subtotal“:”7.47“}},”Description“:”Description“:”这是付款交易描述.“,”Related_Card“资源”:[{“sale”:{“id”:“36C38912MN9658832”,“create_time”:“2013-02-19T22:01:53Z”,“update_time”:“2013-02-19T22:01:55Z”,“state”:“已完成”,“amount”:{“total”:“7.47”,“currency”:“USD”},“parent_payment”:“pay-5YK922393D847794YKER7MUI”,“links”:[{“href”:“https://api.sandbox.paypal.com/v1/payments/sale/36C38912MN9658832”,“rel”:“self”,“method”:“get”},{“href”:“https://api.sandbox.paypal.com/v1/payments/sale/36c38912mn9658832/rechen”,“rel”:“rechen”,“method”:“post”},{“href”:“https://api.sandbox.paypal.com/v1/payments/payment/pay-5YK922393D847794YKer7MUI“,”rel“:”parent_payment“,”method“:”get“}]}}],”links“:[{”href“:”https://api.sandbox.paypal.com/v1/payments/payment/pay-5YK922393D847794YKer7MUI“,”rel“:”self“,”method“:”get“}]}
同样,当我拒绝交易时,Sanbox也起作用。一旦付款状态失败,销售状态被冲销,另一个时间是待定和保留。
我的问题是什么时候可以100%确定交易是完成还是失败?我应该检查付款状态还是销售状态?也许这个问题只与沙盒有关,而与生产无关。
ps.此代码仅为示例,不进行分析。
您应该确保即使销售状态显示已完成,付款也已批准。即使在销售状态显示完成后,也可能存在与特定买家帐户相关的东西,从而使付款处于待定状态。您应确保付款已批准之前,发货您的产品。
web3.eth.sendSignedTransaction()方法用来发送已经签名的交易,例如,可以使用web3.eth.accounts.signTransaction() 方法进行签名。 调用: web3.eth.sendSignedTransaction(signedTransactionData [, callback]) 参数: signedTransactionData:Strin
交易 为了与Infura节点进行交易,需要在发送它们之前离线创建交易和签名,因为Infura节点没有加密的以太坊密钥文件的访问权限,这是需要通过geth或者Parity管理命令来解锁帐户。 有关详细信息,请参阅以太坊交易中离线交易和签名部分和web3j如何使用管理APIs。
交易 Web3j支持使用以太坊钱包文件(推荐的)和用于发送事务的以太坊客户端管理命令。 使用以太钱包文件发送以太币给其他人: Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/ Credentials credentials = WalletUtils.loadCredentials
交易有不同的分类,不同交易有不同的操作码。 这样做的好处就是明确用户行为,简化系统复杂度。 操作码列表 OpsTransfer:用于普通的链内转账 OpsMove:用于链间的转账 OpsNewChain:用于创建新的子链 OpsNewApp:用于创建智能合约 OpsRunApp:用于执行智能合约 OpsRegisterMiner:用于注册矿工 OpsUpdateAppLife:更新智能合约的生命周
composer transaction submit命令将交易提交给业务网络。 句法 composer transaction submit composer transaction submit [options] Options: --help Show help [boolean] -v, --version
问题内容: 我正在使用Codeigniter交易 这很好用,我的问题是在和我正在调用其他函数,而这些函数处理数据库,因此它们包含插入和更新以及一些删除…例如: 现在,如果执行了这些功能并且发生了一些错误,CodeIgniter将不会回滚。 处理此类问题的最佳方法是什么? 我想到的唯一解决方案是从这些函数中返回错误,并在这些函数中添加(和),如果返回错误,则执行 例如: 有更好的方法吗? 更新1: