如何编写银行账户转账软件?

时间:2008-09-27 01:22:26

标签: banking

您知道那些允许您输入支票帐号和路由号码的网站,然后他们可以通过您的帐户转帐吗?

这是如何工作的?这样做有什么好的服务或API吗?任何陷阱?

6 个答案:

答案 0 :(得分:16)

银行确实有API来执行此操作,但只允许经过批准的人/公司与这些系统进行交互。因为它实际上涉及转移资金,所以在处理系统帐号方面的安全要求非常高。

许多提供此功能以购买商品的网站实际上使用第三方系统来处理实际汇款到他们的帐户。这降低了实施API的麻烦,以及将负担安全放在处理汇款的第三方上。

如果您认真建立一个可以接受银行帐号和交换资金的系统,您应该联系您的银行,看看实施这样一个系统的实际要求。每家银行都有自己的系统,以及他们自己关于这些交易成本的费率。

我知道的第三方是

我在加拿大,虽然我认为Moneris和Cactus在美国运营。我认为Beanstream没有。同样,您可以与您的银行联系,他们可能会让您与第三方联系,他们将帮助您完成交易。

答案 1 :(得分:6)

如果您希望能够在不同金融机构的账户之间启动资金转账(使用账户和路由号码),您需要找到一家提供ACH(http://en.wikipedia.org/wiki/Automated_Clearing_House)转账服务的支付处理公司。通常这些公司是已经可以访问ACH的金融机构的子公司。例如。一个这样的公司是ACH Direct(http://www.achdirect.com/)。我不能保证其服务或可靠性,我只是在这里作为您需要搜索的公司类型的示例。

当然,从技术上讲,您可以尝试直接连接到ACH。但是,为此,您需要在编写软件时遵循NACHA(http://en.wikipedia.org/wiki/NACHA-The_Electronic_Payments_Association)的规则和规定并通过严格的认证。这是一笔相当大的投资,所以除非你得到几百亿美元的支持,否则我不会建议尝试这个。

答案 2 :(得分:1)

您可以使用Moneris US eSELECTplus商家帐户执行此操作 - 您只需在您的商家帐户上启用自动清算中心(ACH)(遗憾的是,目前在加拿大没有相应的ACH)。

以下是Moneris US PHP API中借记交易的示例:

<?php

require "../mpgClasses.php";

/************************ Request Variables **********************************/

$store_id='monusqa002'; //account credentials
$api_token='qatoken';

/************************ Transaction Object******************************/


$txnArray=array(type=>'us_ach_debit',
            order_id=>'ach-'.date("dmy-G:i:s"),
            cust_id=> 'my cust id',
            amount=>'1.00'
            );

$achTemplate = array(
       sec =>'ppd',
       cust_first_name =>  'Bob',
                 cust_last_name =>  'Smith',
                 cust_address1 => '101 Main St',
                 cust_address2 =>  'Apt 102,
                 cust_city => 'Chicago',
                 cust_state =>  'IL',
                 cust_zip =>'123456',
                 routing_num => '490000018',
                 account_num =>  '23456',
                 check_num => '100',
                 account_type => 'savings'
                );

$mpgAchInfo = new mpgAchInfo ($achTemplate);
$mpgTxn = new mpgTransaction($txnArray);
$mpgTxn->setAchInfo($mpgAchInfo);

$mpgRequest = new mpgRequest($mpgTxn);
$mpgHttpPost = new mpgHttpsPost($store_id,$api_token,$mpgRequest);

/************************ Response Object **********************************/

$mpgResponse=$mpgHttpPost->getMpgResponse();


print("\nCardType = " . $mpgResponse->getCardType());
print("\nTransAmount = " . $mpgResponse->getTransAmount());
print("\nTxnNumber = " . $mpgResponse->getTxnNumber());
print("\nReceiptId = " . $mpgResponse->getReceiptId());
print("\nTransType = " . $mpgResponse->getTransType());
print("\nReferenceNum = " . $mpgResponse->getReferenceNum());
print("\nResponseCode = " . $mpgResponse->getResponseCode());
print("\nMessage = " . $mpgResponse->getMessage());
print("\nAuthCode = " . $mpgResponse->getAuthCode());
print("\nComplete = " . $mpgResponse->getComplete());
print("\nTransDate = " . $mpgResponse->getTransDate());
print("\nTransTime = " . $mpgResponse->getTransTime());
print("\nTicket = " . $mpgResponse->getTicket());
print("\nTimedOut = " . $mpgResponse->getTimedOut());

?>

Moneris USA的API文件和集成指南可从以下网址获取:

http://developer.moneris.com(需要免费注册)

Moneris USA - ACH:

http://www.monerisusa.com/payment-processing-services/ach-direct-debit.aspx

答案 3 :(得分:1)

Stripe Connect允许您将资金转帐到银行帐户并通过一个统一的API接受付款。截至2015年12月,他们提供了更全面的文档,并且在开发人员中似乎比其他答案中提到的大多数公司更受欢迎。

有关详细信息,请参阅https://stripe.com/docs/connect

答案 4 :(得分:0)

Paypal有一个相当容易使用的API,您可以在程序中使用它来完成其中的一些。

答案 5 :(得分:0)

进行ACH转移的非常简单的方法 - https://www.dwolla.com/white-label

根据您对应用程序的要求,您将需要不同的功能。

如果您想支付(贷记)银行账户。这很直接。以下是步骤: 1.创建一个成员 2.创建资金来源 3.创建转移

如果您想借记和贷记银行账户,它会变得更复杂一些。以下是步骤: 1.创建一个成员 2.获得资金来源授权 3.创建转移

授权稍微困难的唯一原因是因为您必须通过2种存款方式或某种类型的验证流程。使用Dwolla.js - https://www.dwolla.com/dwollajs-bank-verification

可以轻松实现这一目标