2017 © Pedro Peláez
 

library txtnation

A Laravel library to help send free and premium SMS via txtNation. Forked from Marc O'Leary's txtNation Gateway

image

saleemepoch/txtnation

A Laravel library to help send free and premium SMS via txtNation. Forked from Marc O'Leary's txtNation Gateway

  • Saturday, May 28, 2016
  • by saleemepoch
  • Repository
  • 1 Watchers
  • 1 Stars
  • 43 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 258 % Grown

The README.md

Laravel package for txtNation Gateway

The txtNation Gateway PHP Library works with Laravel 5+. It is an extension of Marc O'Leary's txtnation/txtnation-gateway-php., (*1)

, (*2)

Prerequisites

This README assumes you are using the following PHP extensions:, (*3)

  • php-curl
  • php-mbstring

, (*4)

Installation

  • Use following command to install:
composer require saleemepoch/txtnation
  • Add the service provider to your $providers array in config/app.php file like:
'saleemepoch\txtNation\Providers\txtNationServiceProvider' // Laravel 5
saleemepoch\txtNation\Providers\txtNationServiceProvider::class // Laravel 5.1 or greater



* Run the following command to publish configuration:
php artisan vendor:publish

<a name="configuration"></a> ## Configuration * After installation, you will need to add your txtNation settings. Following is the code you will find in **config/txtNation.php**, which you should update accordingly.
return [ /* REQUIRED */ 'username' => '', 'ekey' => '', // also known as sender id. 'title' => '', /* OPTIONAL */ // if set, requests to txtNation will also consists of the supplied shortcode 'shortcode' => '', // required only if sending MT to Bill based on texted keywords 'keywords' => [ /* * keywords and their corresponding amounts. * * This will set the value when billing the customer based on the keyword texted by the user * * 'BILL10' => 10.00, 'BILL5' => 5.00, */ 'BILL1' => 1.00 ] ];

<a name="usage"></a> ## Usage <a name="free-sms"></a> * To send a free SMS
$message = new SMSMessage; $result = $message->msisdn('447459831491')->body('Please reply to this message with keyword PENNY!')->senderId('784645')->send(); if ($result->success()){ dd('Message sent!'); } else { dd('Error sending message! Code: ' . $result->getErrorCode() . ' (' . $result->getErrorMessage() . ')'); }

<a name="premium-sms"></a> * MT to Bill a user after opting-in 1) Make sure in config/txtNation.php you have keywords mapped to values the user is to be charged, e.g.
'keywords' => [ 'BILL10' => 10.00, 'BILL5' => 5.00, 'BILL1' => 1.00 ]

2) Login to your txtNation account -> APIs -> Gateway and set your responder URL, e.g. http://example.com/txtNationResponse 3) Setup a route in your routes.php:
Route::post('txtNationResponse', 'txtNationController@response');

4) Exclude this route from CSRF protection by adding the URI to the $except property of the VerifyCsrfToken middleware:
protected $except = [ 'txtNationResponse', ];

5) Setup a controller like txtNationController for this example and create a method:
public function response(Request $request) { if ($request->action == 'mpush_ir_message' && (isset($request->billing) && $request->billing == 'MT')) { $keywords = config('txtNation.keywords'); $message = new SMSMessage; $result = $message->msisdn($request->number) ->reply(1) ->body('Thank you for your business') ->id($request->id) ->network($request->network) ->currency('GBP') ->value($keywords[$request->message]) ->send(); } }

The above controller method will accept the response from txtNation and if billing is set to MT it will reply back charging the user., (*5)

The Versions

28/05 2016

dev-master

9999999-dev

A Laravel library to help send free and premium SMS via txtNation. Forked from Marc O'Leary's txtNation Gateway

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel sms text mobile billing phone cell txtnation

28/05 2016

v1.0

1.0.0.0

A Laravel library to help send free and premium SMS via txtNation. Forked from Marc O'Leary's txtNation Gateway

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel sms text mobile billing phone cell txtnation