everypay/ everypay-php

3.0.0 2019-09-04 14:42 UTC

README

Scrutinizer Code Quality Build Status Coverage Status Latest Stable Version License

注意

您必须与我们的 iFrame 一起使用此插件。

除非您拥有 PCI DSS SAQ D 认证,否则您无法收集卡数据。

有关更多信息,请参阅我们的 文档

安装

autoload.php 文件包含到您的应用程序中。

<?php
require_once '/path/to/everypay-php/autoload.php';

使用 Composer 安装

您可以使用 Composer 安装此库

有关如何安装 Composer 的信息,请参阅 此处

命令行

在您项目的根目录中,通过控制台运行

$ composer require "everypay/everypay-php":"@stable"

composer.json

在您的 composer.json 文件中包含 require 行

{
	"require": {
    	"everypay/everypay-php": "@stable"
    }
}

然后从您项目的根目录中的控制台运行

$ composer update

之后,您必须从 Composer 中要求自动加载文件。

<?php
require_once 'vendor/autoload.php';

入门指南

<?php

use Everypay\Everypay;
use Everypay\Payment;

/**
 * Either your live secret API key or your sandbox secret API key.
 */
Everypay::setApiKey('sk_YoUraPikEy');

/** 
 * Set this true to test your sandbox account (also provide your sandbox secret API key above).
 * Ommit it or set it false to actually use your live account (also provide your live secret API key above 
 * - but be carefull, this is no longer a test!).
 */
Everypay::$isTest = true;

/**
 * You can only handle card information if you have PCI DSS SEQ D
 * This example is only for MOTO (mail order telephone order) payments
 * You need to use this plugin with our iFrame solution in order to handle card data
 */
$params = array(
    'card_number'       => '4111111111111111',
    'expiration_month'  => '01',
    'expiration_year'   => '2020',
    'cvv'               => '123',
	'holder_name'       => 'John Doe',
    'amount'            => 1000 # amount in cents for 10 EURO.
);

Payment::create($params);

文档

请参阅 https://docs.everypay.gr/api-reference 以获取最新文档。

测试

首先在 fixtures.ini 文件中填写您的 API 密钥(请提供您的沙箱账户 API 密钥)。

然后,在根文件夹中运行以下可用命令之一。

  • command-1 发出真实的 API 请求并应用于 3D Secure 账户类型。

  • command-2 发出真实的 API 请求并应用于电子商务账户类型。

  • command-3 只执行本地测试,不会在任何地方发出真实调用。

#command-1: testing with real requests to API 3D-Secure account
phpunit --configuration ./phpunit_remote.xml --group 3dsecure

#command-2: testing with real requests to API eCommerce account
phpunit --configuration ./phpunit_remote.xml --group ecommerce

#command-3: testing locally with mocks (default)
phpunit --configuration ./phpunit_local.xml

您可以在每个命令的末尾提供特定的测试文件(例如 tests/PaymentTests.php),或者默认情况下执行所有测试。

注意 1:如果您尝试运行一个“实时”API命令(1 或 2),该命令不适用于您确切的账户类型(3D-Secure 或电子商务),则这些测试可能会失败或被跳过。

注意 2:如果您系统中未安装 phpunit,您可以使用 composer 安装它(前提是您已经安装了 composer 本身)。

#in everypay-php root folder
composer update

注意 3:关于“实时”API请求(命令 1 和 2),请确保在每个测试文件中,在 public function setUp 内安全地提供以下命令(已默认提供),以便将调用重定向到您的适当沙箱账户,而不是真实账户。

<?php
Everypay::$isTest = true;

注意:如果不提供此命令以及用真实 API 密钥而不是沙箱 API 密钥填充,则您的远程测试调用(如上所述命令 1 和 2)将被重定向到您的真实账户,因此可能导致真实费用!