eversend/eversend-php-sdk 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

eversend/eversend-php-sdk

最新稳定版本:v1.0.1

Composer 安装命令:

composer require eversend/eversend-php-sdk

包简介

Eversend SDK for merchants

README 文档

README

Packagist Version Packagist License Packagist Downloads

PHP SDK for Eversend payments API

Table of Contents

  1. Installation
  2. Initialization
  3. Usage
  4. Contribution Guidelines
  5. License

Installation

composer require eversend/eversend-php-sdk

Usage

use Eversend\Eversend

$eversendClient = new Eversend(
    clientId= 'clientId',
    clientSecret= 'clientSecret',
    version=1
);

You can get your clientId and clientSecret from the settings section in the dashboard

Usage

Wallets

Get all wallets

$wallets = eversendClient.wallets().list();

Get one wallet

$usdWallet = eversendClient.wallets().get(walletId: "USD");

Transactions

Get all transactions

$transactions = eversendClient.transactions().list(page: 1, limit: 10);

If page and limit are not set, the default of 1 and 10 are used respectively.

Get one transaction

$transaction = eversendClient.transactions().get(
    transactionId: "EVS12345678"
);

Exchange

To exchange from one wallet to another, you first have to generate a quotation. This returns a token with a 30s timeout that you can use to make the exchange.

Get exchange quotation

$quotation = eversendClient.exchange().createQuotation(
    from: "USD", to: "UGX", amount: 10.0
);

Exchange currency

$exchange = eversendClient.exchange().createExchange(
    token: "dhhsggajjshhdhdhd",
    transactionRef: "EVS-12345678", // optional field
);

Beneficiaries

Get beneficiaries

$beneficiaries = eversendClient.beneficiaries.list(
    page: 1,
    limit: 10,
);

If page and limit are not set, the default of 1 and 10 are used respectively.

Search beneficiaries

$beneficiaries = eversendClient.beneficiaries().list(
    search: "Okello",
    page: 1,
    limit: 10,
);

Get single beneficiary

$beneficiary = eversendClient.beneficiaries().get(
    beneficiaryId: 100
);

Create a beneficiary

$beneficiary = eversendClient.beneficiaries.create(
    firstName: "John",
    lastName: "Okello",
    country: "UG", // Alpha-2 country code
    phoneNumber: "+256712345678", // Should be in international format
    bankAccountName: "John Okello",
    bankAccountNumber: "12345678",
    bankName: "Stanbic Bank",
    bankCode: 1234 // You can get the bank code from payouts.getDeliveryBanks()
);

Note that all bank fields are optional if bank payments will not be required

Edit a beneficiary

$beneficiary = eversendClient.beneficiaries.update(
    beneficiaryId: 100,
    firstName: "John",
    lastName: "Okello",
    country: "UG", // Alpha-2 country code
    phoneNumber: "+256712345678", // Should be in international format
    bankAccountName: "John Okello",
    bankAccountNumber: "12345678",
    bankName: "Stanbic Bank",
    bankCode: 1234 // You can get the bank code from payouts.getDeliveryBanks()
);

Note that all bank fields are optional if bank payments will not be required

Delete a beneficiary

$beneficiary = eversendClient.beneficiaries.delete(
    beneficiaryId: 100
);

Collections

Get collection fees

$collectionFees = eversendClient.collections().getFees(
    amount: 1000,
    currency: "KES",
    method: "momo"
);

Get collection OTP

Required when initiating mobile money collections

$collectionOTP = eversendClient.collections().getOTP(
    phone: "+256712345678"
);

Initiate Mobile Money collection

eversendClient.collections().initiateMomo(
    phone: "+256712345678",
    amount: 1000,
    country: "UG",
    currency: "UGX",
    pin: 123456, // From phone number passed in Get Collection OTP
    pinId: "dg524fhsgfde", // From Get Collection OTP
    transactionRef: "EVS-12345678", // Optional transaction ref generated by you
    customer: { name: "John Okello" } // Optional customer object with your metadata
);

Payouts

Get payout quotation

$quotation = eversendClient.payouts.getQuotation(
    amount: 100,
    amountType: "SOURCE", // amountType can be SOURCE or DESTINATION
    sourceWallet: "USD",
    destinationCountry: "KE",
    destinationCurrency: "KES"
);

amountType refers to whether you want amount to represent sourceWallet (SOURCE) or destinationCurrency (DESTINATION)

Pay existing beneficiary

$payout = eversendClient.payouts.initiate(
    beneficiaryId: 100,
    quotationToken: "token",
    transactionRef: "EVS-12345678" // Optional transaction ref generated by you
);

Pay new beneficiary

$payout = eversendClient.payouts.initiate({
    firstName: "John",
    lastName: "Okello",
    country: "UG", // Alpha-2 country code
    phoneNumber: "+256712345678", // Should be in international format
    bankAccountName: "John Okello",
    bankAccountNumber: "12345678",
    bankName: "Stanbic Bank",
    bankCode: 1234, // You can get the bank code from payouts.getDeliveryBanks()
    quotationToken: "token",
    transactionRef: "EVS-12345678" // Optional transaction ref generated by you
});

Get delivery countries

$countries = eversendClient.payouts.countries()

Get delivery banks

$banks = eversendClient.payouts.banks(
    country: "UG"
);

Contribution Guidelines

Contributions are welcome and encouraged. Learn more about our contribution guidelines here

License

MIT © Eversend

统计信息

  • 总下载量: 9
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-11-03