云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

轻量服务器_腾讯云域名怎么用_多少钱

小七 141 0

PayPal payments(Braintree)REST API集成通过SAP PO和REST适配器简化

简介:

Braintree是PayPal为在线商店和电子商务应用程序提供的支付解决方案。Braintree提供了基于REST的API,客户和合作伙伴可以通过这些API建立与Braintree的集成,以处理各种形式的财务活动和流程。通常,这些API可以集成到客户端应用程序中,以基于restapi操作执行大量查询。本文的重点是提供如何通过sappi/PO中间件实现与Braintree中的这些api的集成的指南。实际上,这是一篇独特的文章,因为没有任何通过sapi/PO/PRO中间件与Braintree集成的现有文档或实现。在Braintree的支持下,通过该帐户可以获得集成所需的所有必要的Braintree相关信息。

Braintree沙盒URL:https://sandbox.braintreegateway.com/login

场景描述:

场景设置需要一个ABAP代理到REST同步场景。ABAP代理的触发器是销售订单创建点。消费者通过网上商店下订单,然后将订单转移到SAP ECC系统,并使用Braintree ID在线付款以创建销售订单。一旦创建了一个销售订单,就会触发一个输出类型,它通过传递Braintree ID作为输入来对sappro7.5进行ABAP代理调用。这个调用通过调用"Get"操作一对一地转发到Braintree进行查询。查询完成后,带有事务详细信息报告记录的响应将返回到SAP PRO 7.5,并一对一地映射到SAP ECC系统。一旦ABAP代理接收到这个XML响应,这用于触发入站FINSTA IDOC,该IDOC随后通过调用必要的功能模块来更新财务报表。

图1:ABAP代理调用Braintree REST API以检索TransactionDetailReport

开发

设置此场景涉及不同组件的开发,云服务器好用吗,但重点将放在与sapi/PO中间件相关的活动上。

1)消息:首先,Braintree不提供用于此集成的标准xsd,只提供要在响应消息中返回的示例XML消息。为了实现请求和响应消息的创建,我们做了以下工作:

a)请求消息:在接收REST API的一侧进行查询,预计将实现以下查询格式:

图2:查询Braintree REST API的示例请求

对Braintree的请求是一个查询,Braintree不提供结构。但是,仍然需要为ABAP代理生成创建请求消息,并以XML形式传递给BraintreeID,该消息将根据接收方REST通信通道上配置的XPATH表达式动态获取。

以下XSD是使用外部工具创建的请求消息,并导入SAP PRO7.5.

图3:导入请求XSD消息的结构

b)响应消息:为了创建响应消息,Braintree提供了将在查询中返回的示例XML响应消息。使用此XML结构,使用一个用于生成XSD的在线工具(例如:https://devutilsonline.com/xsd-xml/generate-xsd-from-xml). 一旦XSD被生成,来自Braintree的各种XML响应就会根据这个XSD进行验证,以确定它是否有效。一旦响应XSD消息被创建,它也被导入到SAP PRO 7.5

图4:导入的响应XSD消息的部分结构

注意:由于ABAP代理生成,啥是大数据,请求和响应结构都是XSD,云服务器那个好,这要求两个消息结构应该是相同的类型(或者都是作为中间件内的数据类型创建的,或者都是作为xsd导入的)

2)接口、消息和操作映射:这部分开发的细节将不提供,因为这只是标准的PI开发活动,对请求和响应消息进行一对一映射。

配置

关于配置,这部分的重点将放在接收器REST适配器上,由于其余设置是典型的PI目录相关活动。

rest适配器接收器通信通道:典型的rest适配器通道是使用接收器选项设置的,使用以下设置

i)常规选项卡中的默认设置

图5:rest适配器默认常规选项卡设置

ii)rest URL选项卡:以下设置根据REST API的url模式在该选项卡中提供和配置信息

url模式:https://api.sandbox.braintreegateway.com/merchants/$MERCHANT\u ID/transactions/$TRANSACTION\u ID

图6:Braintree REST URL配置

在本例中,merchantID是从Braintree端为这个设置创建的沙盒帐户获得的。查询中要使用的事务ID(BraintreeID)使用指定的XPath配置动态传递到如上所示的url。

注意:由于REST端点兼容HTTPS,需要上传证书,这由Braintree提供。

iii)REST操作:如下所示,HTTP操作值来源为"GET"

图7:查询TransactionDetailReport的REST操作

iv)数据格式:REST API预期返回的消息格式为XML,如下所示

图8:REST API请求和响应消息的消息格式

v)HTTP头:成功调用Braintree REST API,预计header设置如下

图9:Braintree REST API header参数

这是在SAP PI/PO/PRO中通过设置以下配置实现的

图10:SAP PI/PO/PRO配置header REST API header参数

授权header:授权header指定如上,带有在密钥前指定"Basic",这里的"Basic"表示用用户名密码对进行基本身份验证。配置中指定的密钥是"PUBLIC"的base64编码_密钥:私钥". 这些密钥可以在如下创建的Braintree帐户中获得:

图11:Braintree中的REST API公钥和私钥

单击上面的查看选项查看私钥并按如下所示传递,以获得用于授权头值的base64编码值。

图12:公钥和私钥base64编码

结论