2018 yılından bu yana ödeme hizmetleri konusunda bir çok alanda hizmet veren Shipy, gelişmiş ödeme çözümleri ve geniş ödeme yelpazesi ile müşterilerinin çoğu alanda ihtiyaçlarını tam anlamıyla karşılıyor. Shipy için geliştirilen bu kütüphane ile Shipy sanal pos API'lerini çok kolay bir şekilde kullanabilirsiniz.
- Kredi (Taksit seçenekleri) veya banka kartı ile ödeme.
- Havale veya eft ile ödeme.
- Mobil ödemeler.
Node.js 8.0.0 veya daha üstü gerekir.
npm install shipynet
yarn add shipynet
pnpm add shipynet
- axios api post get işlemleri için kullanılır (
npm install axios
) - crypto callback işleminde bir hash oluşturmak için kullanıyoruz (
npm install crypto
)
Önceklikle shipynet kurun:
npm install shipynet
yarn add shipynet
pnpm add shipynet
const Shipynet = require('shipynet');
const shipynet = new Shipynet('API_KEY');
async function main() {
let paymentID = 'cart-'+Math.random().toString(36).substring(7);
shipy.cart({
usrIp: '192.168.1.1', //Kullanıcının ip adresi
usrName: 'John Doe', //Kullanıcının adı/soyadı/kullanıcıadı
usrAddress: 'Turkey/Ankara', //Kullanıcının adresi
usrPhone: '+905xxxxxxxxx', //Kullanıcının telefon numarası
usrEmail: 'user@mail.com', //Kullanıcının e-posta adresi
amount: 5, //Ödenecek tutar
returnID: paymentID, //Ödeme sonrası callback tarafında geri dönülecek ödeme ID'si
currency: 'TRY', //Ödeme para birimi
pageLang: 'TR', //Ödeme sayfası dili
mailLang: 'TR', //Ödeme sonrası e-posta dili
installment: 0, //Taksit sayısı
});
//İpucu -> PaymetID'yi veritabanınıza kaydederek ödeme sonrası callback tarafında kullanabilirsiniz.
let response = await shipy.run();
console.log(response);
//response.link -> Ödeme sayfasına yönlendirme linki
};
main();
async function main() {
let paymentID = 'eft-'+Math.random().toString(36).substring(7);
shipy.eft({
usrIp: '192.168.1.1', //Kullanıcının ip adresi
usrName: 'John Doe', //Kullanıcının adı/soyadı/kullanıcıadı
usrAddress: 'Turkey/Ankara', //Kullanıcının adresi
usrPhone: '+905xxxxxxxxx', //Kullanıcının telefon numarası
usrEmail: 'user@mail.com', //Kullanıcının e-posta adresi
amount: 5, //Ödenecek tutar
returnID: paymentID, //Ödeme sonrası callback tarafında geri dönülecek ödeme ID'si
currency: 'TRY', //Ödeme para birimi
pageLang: 'TR', //Ödeme sayfası dili
mailLang: 'TR', //Ödeme sonrası e-posta dili
installment: 0, //Taksit sayısı
});
//İpucu -> PaymetID'yi veritabanınıza kaydederek ödeme sonrası callback tarafında kullanabilirsiniz.
let response = await shipy.run();
console.log(response);
//response.link -> Ödeme sayfasına yönlendirme linki
};
main();
async function main() {
let paymentID = 'mobile-'+Math.random().toString(36).substring(7);
shipy.mobile({
usrIp: '192.168.1.1', //Kullanıcının ip adresi
usrName: 'John Doe', //Kullanıcının adı/soyadı/kullanıcıadı
usrAddress: 'Turkey/Ankara', //Kullanıcının adresi
usrPhone: '+905xxxxxxxxx', //Kullanıcının telefon numarası
usrEmail: 'user@mail.com', //Kullanıcının e-posta adresi
amount: 5, //Ödenecek tutar
returnID: paymentID, //Ödeme sonrası callback tarafında geri dönülecek ödeme ID'si
});
//İpucu -> PaymetID'yi veritabanınıza kaydederek ödeme sonrası callback tarafında kullanabilirsiniz.
let response = await shipy.run();
console.log(response);
//response.link -> Ödeme sayfasına yönlendirme linki
};
main();
app.post('/callback', (req, res) => {
req.body.ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
let callback = shipy.callback(req.body);
if(callback.status == 'success') {
//Ödeme başarılı
} else {
//Ödeme başarısız
};
//callback.message -> Hata mesajı
});
Herhangi bir yerde problem yaşamanız halinde bize ulaşınız. Bize ulaşmak için issues sayfasını kullanabilirsiniz.