PHPackages                             superbrave/omnipay-docdata-payments - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. superbrave/omnipay-docdata-payments

ActiveLibrary[Payment Processing](/categories/payments)

superbrave/omnipay-docdata-payments
===================================

Docdata Payments support for Omnipay payment processing library

3.2.3(6y ago)23.4k1MITPHPPHP ^7.0

Since Jul 30Pushed 6y ago3 watchersCompare

[ Source](https://github.com/superbrave/omnipay-docdata-payments)[ Packagist](https://packagist.org/packages/superbrave/omnipay-docdata-payments)[ Docs](https://github.com/superbrave/omnipay-docdata-payments)[ RSS](/packages/superbrave-omnipay-docdata-payments/feed)WikiDiscussions master Synced today

READMEChangelog (8)Dependencies (3)Versions (10)Used By (0)

omnipay-docdata-payments
========================

[](#omnipay-docdata-payments)

Docdata/CM Payments support for Omnipay payment processing library.

This package is geared towards the Webdirect method of handling orders in Docdata Payments (now CM payments).

Authorize data
--------------

[](#authorize-data)

#### Generic

[](#generic)

```
public function getAuthorizeData() {
    $card = new CreditCard(); // Omnipay CC model
    $card->setTitle(null);
    $card->setFirstName($invoice->getCustomerFirstname());
    $card->setLastName($invoice->getCustomerLastname());
    $card->setEmail($invoice->getCustomerEmailAddress());
    $card->setGender('U'); // U, F, M
    $card->setPhone(null);
    $card->setBillingFirstName($invoice->getCustomerFirstname());
    $card->setBillingLastName($invoice->getCustomerLastname());
    $card->setBillingAddress1($formatedAddress['street']);
    $card->setBillingAddress2($formatedAddress['houseNumber']);
    $card->setBillingPostcode($address->getPostalCode());
    $card->setBillingCity(mb_substr($address->getCity(), 0, 35)); // max 35
    $card->setBillingCountry(strtoupper($address->getCountry()));
    $card->setBillingTitle(null);
    $card->setBillingState(null);

    $data = [
        'description' => sprintf('Invoice #%s', $invoice->getReference()),
        'paymentProfile' => $this->getDocDataPaymentProfile(), // set in Docdata backoffice
        'paymentDays' => self::DOCDATA_INVOICE_VALIDITY_DAYS, // own choice
        'transactionId' => sprintf('%s _ %s', $invoice->getReference(), Uuid::uuid4()), // shown to customer. Needs to be unique
        'currency' => 'EUR', // capitalized
        'amount' => 100,
        'shopperId' => $invoice->getCustomerReference(),
        'language' => 'en', // lowercase
        'card' => $card,
        'houseNumberAddition' => $formatedAddress['houseNumberAddition'],
        'paymentMethod' => 'IDEAL',
    ];

    /* Payment methods (defined by docdata)
     * https://www.cmpayments.com/file_uploads/API_Integration_Manual.pdf #figure 9
     *
     * BanContact => 'MISTERCASH'
     * Bank_transfer => 'BANK_TRANSFER'
     * Elv => 'ELV'
     * Eps => 'EPS'
     * Giropay => 'GIROPAY'
     * Ideal => 'IDEAL'
     * Sofort => 'SOFORT_UEBERWEISUNG'
     */

     return $data;
 }
```

#### Ideal

[](#ideal)

Ideal has some special quirks. Add the issuer to the getAuthorizeData method thusly:

```
    $data['paymentInputType'] = 'iDealPaymentInput';
    $data['paymentInput'] = [
        'issuerId' => $request['issuerId'],
    ];
```

IssuerId is set by Docdata and not documented in the implementation manual.

```
      iban => docdata code  // bank name
----------------------------------------------------
'ABNANL2A' => 'ABNAMRO'     // ABN AMRO
'ASNBNL21' => 'ASN'         // ASN
'BUNQNL2A' => 'BUNQ'        // Bunq
'HANDNL2A' => 'HAND'        // Svenska Handelsbanken
'INGBNL2A' => 'ING'         // ING
'KNABNL2H' => 'KNAB'        // Knab
'MOYONL21' => 'MOYO'        // MoneYou
'RABONL2U' => 'RABO'        // RABO
'RBRBNL21' => 'REGIOBANK'   // Regiobank
'SNSBNL2A' => 'SNS'         // SNS
'TRIONL2U' => 'TRIODOS'     // Triodos
'FVLBNL22' => 'VANLANSCHOT' // Van Lanschot

```

CompleteAuthorize
-----------------

[](#completeauthorize)

Some payment methods require (most, or a lot) of information also sent on the Authorize call, so getting the same data and adding the transactionReference is the most foolproof way.

```
public function getCompleteAuthorizeData(): array {
    $data = $this->getAuthorizeData();
    $data['transactionReference'] = $paymentTransaction->getReference();
    $data['authorizationResultType'] = 'iDealAuthorizationResult'; // differs per payment method
    $data['authorizationResult'] = []; // same here
    return $data;
}
```

Creditcards
-----------

[](#creditcards)

Docdata can handle CC data if you don't want to store or handle the user input (Protip: don't handle them). To handle this in the package you should use the OnePageCheckoutGateway. This way the code will still create the order in docdata, and try to capture it, but not expect you to send the card holder, cc number, etc.

The webdirect flow uses the WebdirectGateway.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~79 days

Total

9

Last Release

2205d ago

Major Versions

1.0.0 → 2.0.02019-01-29

2.0.0 → 3.0.02019-02-18

### Community

Maintainers

![](https://www.gravatar.com/avatar/f5f344c666ed6e0cf73ec40895b4dd76b8a4d9a50d963c88f6307f20ca6e8909?d=identicon)[jellevo](/maintainers/jellevo)

---

Top Contributors

[![niels-nijens](https://avatars.githubusercontent.com/u/3245362?v=4)](https://github.com/niels-nijens "niels-nijens (29 commits)")[![busgurlu](https://avatars.githubusercontent.com/u/1284742?v=4)](https://github.com/busgurlu "busgurlu (19 commits)")[![krijn-sb](https://avatars.githubusercontent.com/u/42442010?v=4)](https://github.com/krijn-sb "krijn-sb (16 commits)")

---

Tags

soappaymentgatewaypaymerchantomnipaypurchasedocdata

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/superbrave-omnipay-docdata-payments/health.svg)

```
[![Health](https://phpackages.com/badges/superbrave-omnipay-docdata-payments/health.svg)](https://phpackages.com/packages/superbrave-omnipay-docdata-payments)
```

###  Alternatives

[lokielse/omnipay-alipay

Alipay gateway for Omnipay payment processing library

587421.0k11](/packages/lokielse-omnipay-alipay)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
