`
risezhang
  • 浏览: 22918 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

实战OFBiz中的在线支付之CyberSource

阅读更多

 

配置CyberSource

1.       进入到applications\accounting,打开build.xml

默认情况下,cybersource的支付代码是被排除出build任务的,我们需要将下面这句话注释掉:

<exclude name="org/ofbiz/accounting/thirdparty/cybersource/**"/>

       

2.       CyberSource的网站上下载Simple Order Api。将得到包,放到accountinglib下。

其实只要两个包就行了:cybsclients15.jarcybssecurity.jar

下载地址为:

http://www.cybersource.com/support_center/implementation/downloads/simple_order

或者,也可以在lib目录下新建个cybersource目录,将类库放到其下。这时,我们需要将build.xml中的<fileset dir="lib/cybersource" includes="*.jar"/>的注释解开。

       

3.       修改config目录下的payment.properties文件:

payment.cybersource.merchantID=[CyberSource注册的ID]

其实的,可以根据自己的需要进行修改

BTW: 在配置Service时可以另外指定别的配置文件

      

 4.       配置商店和支付方式:

在种子数据文件中,加入以下XML:

<ProductStorePaymentSetting productStoreId="9000"
    paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_AUTH"
    paymentService="cyberSourceCCAuth" paymentPropertiesPath="xxx-payment.properties" />
<ProductStorePaymentSetting productStoreId="9000"
    paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_RELEASE"
    paymentService="cyberSourceCCRelease" paymentPropertiesPath="xxx-payment.properties" />
<ProductStorePaymentSetting productStoreId="9000"
    paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_CAPTURE"
    paymentService="cyberSourceCCCapture" paymentPropertiesPath="xxx-payment.properties" />
<ProductStorePaymentSetting productStoreId="9000"
    paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_REAUTH"
    paymentService="cyberSourceCCAuth" paymentPropertiesPath="xxx-payment.properties" />
<ProductStorePaymentSetting productStoreId="9000"
    paymentMethodTypeId="CREDIT_CARD" paymentServiceTypeEnumId="PRDS_PAY_REFUND"
    paymentService="cyberSourceCCRefund" paymentPropertiesPath="xxxt-payment.properties" />
 

属性:productStoreId: 商店ID

属性:paymentPropertiesPath: 定义配置文件的名称(可选,默认为 payment.properties)

   

    PS.处理以上ServiceJAVA类为:IcsPaymentServices

 

或者,也可以通过页面进行配置,加入以下5个服务配置(最下面是Paypal的,请先无视掉)

Catalog à Stores à [选择Store] à Payments



 

 

5.       取得对应的.p12文件。

我感觉,这个文件就相当于一个身份证。在和CyberSource做通讯时,需要用到这个文件。

登录到businesscenter.cybersource.com或者测试用的businesscenterttest.cybersource.com

左侧菜单 à Account Management à Transaction Security Keys

然后,点击’Security Keys for the Simple Order API’,就可以生成并取得一个.p12文件。文件的名称,与你账号的商家名称是一样的,即:merchant.p12

PS.需要机器上装有JRE

 

6.       放置.p12文件

.p12文件的存放位置是在payment.properties文件(或指定的文件)中配置的:

payment.cybersource.keysDir=${env.ofbiz.home}/*****/*****/icskeys



修正OFBiz在支付方面的BUG

上午,老大改了支付的两个BUG。呃,老大说了,开源的,有BUG,没办法 Orz

1.       CaptureTransaction.groovy

这个脚本的import不全,加下列声明加进去替换掉

import org.ofbiz.order.order.OrderReadHelper;

import org.ofbiz.base.util.UtilMisc;

import org.ofbiz.base.util.Debug;

import org.ofbiz.base.util.UtilDateTime;

import org.ofbiz.base.util.UtilMisc;

import org.ofbiz.entity.GenericDelegator;

import org.ofbiz.entity.GenericEntityException;

import org.ofbiz.entity.GenericValue;

import org.ofbiz.entity.condition.EntityCondition;

import org.ofbiz.entity.condition.EntityOperator;

import org.ofbiz.entity.util.EntityUtil;

 

2.       这个文件里还有个笔误。尝试搜索一下‘orderPaymentPrefrence’,将其替换为‘orderPaymentPreference’。发现是哪里有问题了吗?脚本语言啊。

 

3.       ViewGatewayResponse.groovy

同样,替换掉上方的import声明:

import org.ofbiz.base.util.UtilMisc;

import org.ofbiz.entity.GenericDelegator;

import org.ofbiz.entity.GenericEntityException;

import org.ofbiz.entity.GenericValue;

import org.ofbiz.entity.condition.EntityCondition;

import org.ofbiz.entity.condition.EntityOperator;

import org.ofbiz.entity.util.EntityUtil;

 

模拟实战测试

1.       在做测试之前,请先登录businesscentertest.cybersource.com。登录进去后,所有的transaction都变成虚拟的了。这就相当于PaypalSandbox

 

2.       做一张单子,将地址呀,MAIL呀,信用卡卡号呀,都填写好,一路的next过去。

可用的信用卡号如下

Visa                       4111 1111 1111 1111

MasterCard            5555 5555 5555 4444

American Express   3782 8224 6310 005

Discover                6011 1111 1111 1117

JCB                       3566 1111 1111 1113

Diners Club            3800 000000 0006

 

3.       最后点击“Submit Order”,成功后将转入到《Order Confirm》页面。左上方会显示出这张订单了号码,记住它。

 

4.       进入到后台,找到这个订单。在Payment Information中,你将能看到下面这些信息:

Credit Card
Max Amount: £31.98

Foo  Bar
Visa 4111111111111111 03/2012  [Authorized]

Authorize(按钮) Capture (按钮)

这显示出,这显示出我们已经得到了信用卡支付的授权。

 

5.       点击“Capture”按钮,就可以向信用卡拿钱啦。

最后,信用卡的状态显示为“已结清”:

Visa 4111111111111111 03/2012  [Settled]

 

 

好了,到此结束 -v-。

 

 

附录:

1. CyberSource的客服Mail是:ics_support@cybersource.com。有问题可以直接去问,客服人员很友善 ^_^

 

 

另外,感谢JE的加速度的博客,里面OFBiz相关的文章,给了我很大的帮助 -___,-

  • 大小: 75.8 KB
分享到:
评论
1 楼 Java小菜哈 2012-08-06  

相关推荐

    OFBiz-alipay 配置文档

    通过以上步骤,你将能够成功地在OFBiz中配置Alipay支付功能,为用户提供便捷、安全的在线支付体验。在整个过程中,理解OFBiz的架构和Alipay的API接口是至关重要的,这将有助于你更好地定制和优化支付流程。

    ofbiz支付宝

    ofbiz支付宝将支付宝的src下的com文件夹复制到本模块的src文件夹下,再把filters文件夹复制到刚才的com.alipay下

    ofbiz产品设计

    - 订单:OFBiz中的订单是一个详细的交易记录,包含商品信息、数量、价格、税费、折扣等,以及与之相关的支付、物流、退货等状态信息。 - 订单状态:OFBiz跟踪订单的生命周期,从“新建”到“待支付”,再到“处理...

    ofbiz中文技术文档

    10. **社区与支持**:介绍Ofbiz和Opentaps的社区资源,如邮件列表、论坛和在线文档,以便用户寻求帮助和参与社区活动。 **Opentaps技术文档可能补充的内容** 1. **高级特性**:如APS、采购管理和项目管理的实现与...

    ofbiz电商框架hello与皮肤定制实例

    Apache OFBiz是一个全面的企业级开源电子商务解决方案,它提供了一系列工具和服务,帮助开发者构建复杂的在线业务系统。在这个实例中,我们将关注如何通过"Hello"项目来理解和实践OFBiz的皮肤定制,从而实现自定义...

    Ofbiz源码阅读笔记 之 请求控制篇

    ### Ofbiz源码阅读笔记之请求控制篇 #### 一、引言 本文档基于Ofbiz 10.04.02版本进行解读,旨在深入分析Ofbiz框架中的请求控制流程及其关键技术点。Ofbiz是一款开源的企业级应用框架,支持多种业务场景,包括电子...

    Ofbiz 数据库全模型

    在Ofbiz中,数据库模型扮演着至关重要的角色,它是系统数据结构的基础,定义了所有业务实体及其相互关系。 数据库模型是Ofbiz的核心组成部分,它描述了系统中的各种实体(如产品、订单、客户等)以及它们之间的关系...

    ofbiz学习笔记(自学整理)

    解决这些问题通常需要查阅Ofbiz的官方文档、社区论坛或在线教程。 最后,持续参与Ofbiz社区,如在邮件列表上提问,或者在GitHub上跟踪最新的开发动态,都能帮助你保持对Ofbiz最新版本的了解,并提升你的技能。记住...

    ofbiz中文文档.doc

    本文档将深入探讨OFBiz中的MVC模式以及其在系统设计中的具体体现。 1. MVC模式理论 MVC模式是一种软件设计模式,用于分离应用程序的不同部分,以降低复杂性和耦合度。在MVC中: - **模型(Model)**:负责封装数据...

    Ofbiz实战 之 SSO单点登录

    ### Ofbiz实战之SSO单点登录:两种有效解决方案详解 #### 一、Ofbiz原生实现单点登录 在大型Web应用中,单点登录(Single Sign-On, SSO)是一种常用的安全机制,旨在让用户在访问不同应用程序时只需要进行一次身份...

    ofbiz框架(文档)全

    本文将深入探讨OFBiz中的核心设计模式——Model-View-Controller(MVC),以及它在实际系统中的应用。 **MVC模式理论** MVC模式是软件工程中的一种架构模式,用于分离应用程序的不同部分,以提高可维护性和可扩展...

    ofbiz安装与配置

    1. SVN 插件安装:我们需要在 Eclipse 中安装 SVN 插件,以便从 SVN 仓库中下载 Ofbiz 的源代码。我们可以在 Eclipse 的“Help”菜单中选择“Install New Software...”,然后输入 Subclipse 安装地址:...

    ofbiz 英文pdf

    - **第二章:OFBiz实战操作**(Chapter2: Working with OFBiz) - **添加首个字段**:通过修改实体定义文件实现。 - **更改数据**:演示如何更新数据库记录。 - **编辑用户界面**:介绍如何调整前端显示样式。 -...

    ofbiz权限(全)

    在OFBiz权限管理系统中,采用了“安全组”(SecurityGroup)的概念来关联“权限”与“用户”。系统中的权限种类繁多,包括但不限于系统预设权限、用户自定义权限、资源权限、操作权限等。这些权限与安全组之间建立多...

    ofbiz开发入门之CmsBackEnd实现的CRUD

    在IT行业中,Apache OFBiz(Open For Business Project)是一个企业级的开源应用框架,主要用于构建电子商务、供应链管理和CRM等业务应用程序。本篇文章将探讨的是OFBiz的开发入门,特别是关于CmsBackEnd如何实现...

    Ofbiz框架中的事务解析.pdf

    在Ofbiz框架中,事务管理是确保数据一致性与完整性的关键部分。Ofbiz是一个基于Java的企业级应用框架,它提供了一种灵活的方式来处理事务。在理解Ofbiz中的事务处理之前,我们先要回顾一下Java中的事务概念。 Java...

    ofbiz-cn.github.io:ofbiz 中文文档

    同时结合了 ofbiz 在开发过程中所参 考的一些资料,比如《数据模型资源手册(卷1)》,《JAVA 核心模式》等对 ofbiz 的主要的设计思想 进行分析。文档的目的是为 ofbiz 的开发者和运维人员提供一个良好的参考资源。 ...

    ofbiz 数据模型 中文手册

    在OFBiz项目中,数据模型是其业务逻辑的基础,其中定义了大量的数据库表以及它们之间的关联和约束。本手册主要翻译了核心数据模型中的表结构和字段,以及提供了主键、外键、非空字段的说明。 核心数据模型涵盖了几...

Global site tag (gtag.js) - Google Analytics