Create transaction
To create a transaction, just provide an amount and an UID for the previously created payment method.
Simple card payment
If you have create a Card
already, you can run a simple payment with just a few lines of code.
$transactionReq = Pencepay_Request_Transaction::build()
->creditCardUid('card_uid')
->amount(10.99)
->currencyCode('EUR');
$transaction = Pencepay_Transaction::create($transactionReq);
Result
Handling a result depends on a payment method used, here is an example for card authorization request.
if ($txn->status == 'CAPTURED') {
// Transaction is approved
}
Create a card payment - full properties
This example shows the full use of our Transactions API.
By specifying saveInSafe
setting option, separate objects will be created for certain fields in Pencepay platform (e.g. CreditCard
, Customer
, Address
)
$transactionReq = Pencepay_Request_Transaction::build()
->orderId('123456')
->amount(10.99)
->currencyCode('EUR')
->customer()
->firstName('John')
->lastName('Hancock')
->email('hancock@server.com')
->done()
->billingAddress()
->city('Zagreb')
->postalCode('10000')
->countryCode('HR')
->done()
->creditCard()
->cardholderName('John Hancock')
->number('4350100010001002')
->cvv('313')
->expiryMonth(12)
->expiryYear(2016)
->done()
->settings()
->locale('hr-HR')
->reserveFundsOnly(true)
->saveInSafe(false)
->done();
Create a bank transfer
In order to perform a bank transfer, provide a paymentMethod
and bic
properties.
$transactionReq = Pencepay_Request_Transaction::build()
->paymentMethod('BANK_TRANSFER')
->bic('NWBKGB2L')
->orderId('123456')
->amount(10.99)
->currencyCode('EUR')
->customer()
->firstName('John')
->lastName('Hancock')
->email('hancock@server.com')
->done()
->billingAddress()
->city('Zagreb')
->postalCode('10000')
->countryCode('HR')
->done()
->settings()
->saveInSafe(false)
->done();
$transaction = Pencepay_Transaction::create($transactionReq);
$transaction->paymentInstructions; // Info about how to make a transfer